在系统根目录有个 FineReport110 文件夹,这个目录下的所有文件都是服务器生成的。
其中有个 /ehcache_disk_store 文件,经常占用非常大的空间,导致根目录很容易就满了,那么怎么修改 /ehcache_disk_store 存放路径呢?
12 实现思路
/ehcache_disk_store 里放的是两种类型的缓存文件,分别是:数据库二级缓存、文件服务器的缓存
*** 作时并不是直接修改 /ehcache_disk_store 的路径,而是分别修改这两种缓存文件的路径。
2 *** 作方法
21 修改数据库二级缓存路径
在工程目录 WEB-INF/config 文件夹下创建一个名为 ehcachedbproperties 的文件。
其中跟数据库二级缓存路径相关的配置见下图框出来的部分,可根据场景实际进行修改。
文件配置项如下:
# 数据库ehcache配置
# 是否禁用二级缓存,默认不禁用false
disableCache=false
# 堆中最大缓存空间,默认256M
maxBytesLocalHeap=1G
# 缓存是否常驻,true时timeToIdleSecond和timeToLiveSecond无效,默认false
eternal=false
# 使用后的空闲时间,默认120
timeToIdleSecond=120
# 创建后的存活时间,默认120
timeToLiveSecond=120
# 缓存过期策略,取值LRU,LFU,FIFO,CLOCK,默认LRU
memoryStoreEvictionPolicy=LRU
# 线程检查缓存超时的间隔时间,默认120
diskExpiryThreadIntervalSeconds=120
# 持久化类型,取值LOCALTEMPSWAP,DISTRIBUTED,LOCALRESTARTABLE,NONE,默认NONE
persistenceType=LOCALTEMPSWAP
# 指定数据库二级缓存路径
diskStore=C:\\Users\\root\\Desktop\\tmp\\db_cache
# 持久化同步写入,默认false
persistenceSynchronousWrites=false
# 每隔一段时间清理过期缓存,单位秒,默认60
recycleCacheMemoryInterval=60
# 每隔一段时间debug输出缓存使用情况(仅在调试时使用,同时日志级别需要调至DEBUG),单位秒,为0时不开启,默认0
reportCacheStatusInterval=0
22 修改文件服务器缓存路径
在 FineDB 的 fine_conf_entity 表中新增以下两个字段。新增字段时请直接连接到 FineDB 在表里手动修改,不支持使用 FINE_CONF_ENTITY可视化配置插件 配置。
FineDB 数据库类型和连接方法参见文档:FineDB数据库简介
字段 值
ResourceCacheConfigpersistenceStrategy LOCALTEMPSWAP
ResourceCacheManagerConfigdiskStorePath diskStore=C:\\Users\\root\\Desktop\\tmp\\resource_cache
数据没有自动改变数据的功能,达到这样的目的,一般都是编写一个改变数据的脚本程序(UPDATE 表 SET days=days+1),设置 *** 作系统的定时任务,让每个月的第一天执行一次这个程序。
WINDOWS机器定时任务的设置,在控制面板里面的“任务计划”里面实现。UNIX类系统一般使用cron工具,使用crontab命令来维护。
区别:
1、存储方式不同
memecache 把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小;redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化(笔者注:有快照和AOF日志两种持久化方式,在实际应用的时候,要特别注意配置文件快照参数,要不就很有可能服务器频繁满载做dump)。
2、数据支持类型不同
redis在数据支持上要比memecache多的多。
3、使用底层模型不同
新版本的redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。
4、运行环境不同
redis目前官方只支持LINUX 上去行,从而省去了对于其它系统的支持,这样的话可以更好的把精力用于本系统 环境上的优化,虽然后来微软有一个小组为其写了补丁。但是没有放到主干上。
扩展资料
注意事项
1、 Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如、视频等等。
2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。
3、虚拟内存–Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘 。
4、过期策略–memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10 。
5、分布式–设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一,存储数据安全–memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化) 。
参考资料:
以上就是关于encache.index文件设置存放路径全部的内容,包括:encache.index文件设置存放路径、数据库如何实现自动修改字段、Redis和Memcache的区别总结等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)