Skip to content

Files

Latest commit

 

History

History
20 lines (14 loc) · 1.52 KB

ConcurrentHashMap.md

File metadata and controls

20 lines (14 loc) · 1.52 KB

ConcurrentHashMap配置

<bean id="cacheManager" class="com.jarvis.cache.map.MapCacheManager" init-method="start" destroy-method="destroy">
  <constructor-arg ref="autoLoadConfig" />
  <constructor-arg ref="hessianSerializer" />
</bean>

MapCacheManager 中可以配置参数说明:

  • needPersist : 是否在持久化:为true时,允许持久化,false,不允许持久化;默认值为true;

  • persistFile : 缓存持久化文件;默认值:linux中为:/tmp/autoload-cache/+namespace+map.cache中,windows中C:/tmp/autoload-cache/+namespace+map.cache

  • unpersistMaxSize : 允许不持久化变更数(当缓存变更数量超过此值才做持久化操作),默认值为0;

  • clearAndPersistPeriod : 清除和持久化的时间间隔,默认值为:60000(1分钟);

  • copyValueOnGet : 从缓存中取数据时,是否克隆:true时,是克隆缓存值,可以避免外界修改缓存值;false,不克隆缓存值,缓存中的数据可能被外界修改,但效率比较高;

  • copyValueOnSet : 往缓存中写数据时,是否把克隆后的值放入缓存:true时,是拷贝缓存值,可以避免外界修改缓存值;false,不拷贝缓存值,缓存中的数据可能被外界修改,但效率比较高;

注意:通过配置init-method="start",启动清理缓存线程;通过配置destroy-method="destroy",释放资源; 使用Map做缓存,虽然可以不需要使用序列化工具进行转换数据,但还需要使用序列化工作进行深度复制。