Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 2.33 KB

AutoLoadConfig.md

File metadata and controls

42 lines (27 loc) · 2.33 KB
<bean id="autoLoadConfig" class="com.jarvis.cache.to.AutoLoadConfig">
  <property name="namespace" value="test"/>
  <property name="threadCnt" value="10" />
  <property name="maxElement" value="20000" />
  <property name="printSlowLog" value="true" />
  <property name="slowLoadTime" value="500" />
  <property name="sortType" value="1" />
  <property name="checkFromCacheBeforeLoad" value="true" />
  <property name="autoLoadPeriod" value="50" />
</bean>
  • namespace : 命名空间,在多个模块共用一个缓存环境时,避免key冲突;

  • threadCnt :处理自动加载队列的线程数量,默认值为10;

  • maxElement : 自动加载队列中允许存放的最大容量,默认值为20000;

  • printSlowLog : 是否打印比较耗时的请求,默认值:true;

  • slowLoadTime :当请求耗时超过此值时,记录目录(printSlowLog=true 时才有效),单位:毫秒;默认值500;

  • sortType: 自动加载队列排序算法, 0:按在Map中存储的顺序(即无序);1 :越接近过期时间,越耗时的排在最前;2:根据请求次数,倒序排序,请求次数越多,说明使用频率越高,造成并发的可能越大。更详细的说明,请查看代码com.jarvis.cache.type.AutoLoadQueueSortType

  • checkFromCacheBeforeLoad: 加载数据之前去缓存服务器中检查,数据是否快过期,如果应用程序部署的服务器数量比较少,设置为false, 如果部署的服务器比较多,可以考虑设置为true;

  • autoLoadPeriod: 单个线程中执行自动加载的时间间隔, 此值越小,遍历自动加载队列频率起高,对CPU会越消耗CPU;

  • functions: 注册表达式中用到的自定义函数;

  • refreshThreadPoolSize : 异步刷新缓存线程池的 corePoolSize,默认值:2

  • refreshThreadPoolMaxSize : 异步刷新缓存线程池的 maximumPoolSize ,默认值:20;

  • refreshThreadPoolkeepAliveTime : 异步刷新缓存线程池的 keepAliveTime。默认值20,单位分钟;

  • refreshQueueCapacity : 异步刷新缓存队列容量,默认值:2000;

  • loadDataTryCnt : 加载数据重试次数,默认值为1(即不尝试)