反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

指定ehcache缓存路径

  • 文档创建者:Leo.Tsai
  • 历史版本:3
  • 最近更新:Carly 于 2022-09-26
  • 1. 概述

    1.1 问题描述

    在系统根目录有个 .FineReport100 文件夹,这个目录下的所有文件都是服务器生成的。

    其中有个 ./ehcache_disk_store 文件,经常占用非常大的空间,导致根目录很容易就满了,那么怎么修改 ./ehcache_disk_store 存放路径呢?

    企业微信截图_16288364502729.png

    1.2 实现思路

    ./ehcache_disk_store 里放的是两种类型的缓存文件,分别是:数据库二级缓存、文件服务器的缓存

    操作时并不是直接修改 ./ehcache_disk_store 的路径,而是分别修改这两种缓存文件的路径。

    2. 操作方法

    2.1 修改数据库二级缓存路径

    在工程目录 WEB-INF/config 文件夹下创建一个名为 ehcache.db.properties 的文件。

    其中跟数据库二级缓存路径相关的配置见下图框出来的部分,可根据场景实际进行修改。

    文件配置项如下:

    # 数据库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

    2.2 修改文件服务器缓存路径

    在 FineDB 的 fine_conf_entity 表中新增以下两个字段。新增字段时请直接连接到 FineDB 在表里手动修改,不支持使用 FINE_CONF_ENTITY可视化配置插件 配置。

    FineDB 数据库类型和连接方法参见文档:FineDB数据库简介

    字段
    ResourceCacheConfig.persistenceStrategyLOCALTEMPSWAP
    ResourceCacheManagerConfig.diskStorePathdiskStore=C:\\Users\\root\\Desktop\\tmp\\resource_cache



    附件列表


    主题: 性能优化
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526