JCS的学习与应用二:cache.ccf配置说明

非常感谢http://blog.csdn.net/lfsfxy9/article/details/22171493

缓存技术学习 https://www.itkc8.com

 

    JCS比较关键的部分就是缓存配置文件,它支持自定义缓存区域(region),也就是多区域缓存,可以根据不同业务要求,来对不同缓存区域进行特殊设定。还有,默认提供了辅助缓存(索引式硬盘缓存和分布式缓存),在每个region的第一行可以设定该区域缓存的辅助信息,是否使用辅助缓存等。

 

      下面对cache.ccf配置中的一些配置做下介绍。

 

# 这里是设定使用辅助缓存项,也可以不填,使用默认值

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default=  
 

# 设定使用的 cache 属性管理类别(复合型缓存)

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes  
 

# 设定 cache 内对象的上限,这里指的是某区域内缓存对象的最大上限,

#一般设定为1000,只能存储#988,另外2个对象空间被占用

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.cacheattributes.MaxObjects=1000  
 

 

# 设定 memory cache 的算法,LRU(近期最少使用算法)会将内存页中近期不常用的对象移除内存

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. #jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache  
 

# 设定是否使用冗余内存清除程序

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.cacheattributes.UseMemoryShrinker=true  
 

# 当有使用 memory shrinker 时,设定闲置内存的过期时间

#(就是超过这个时长时,根据缓存算法,超出MaxObjects(内对象的上限)的那部分对象将要被清除或者被存入磁盘中)

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600  
 

 

# 设定 shinker 执行时间间隔,会定期压缩缓存所占用内存

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.cacheattributes.ShrinkerIntervalSeconds=60  
 

 

# 设定 element 属性类别

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes  
 

#UseMemoryShrinker 和 IsEternal 都是用来自动删除对象的。

#设定是否永久有效,默认为true

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.elementattributes.IsEternal=false  
 

 

# 设定缓存element最大生命周期,超过时间后去请求缓存对象则返回null

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.elementattributes.MaxLifeSeconds=21600  
 

 

# 设定缓存element可闲置的时间,需要配合设置IsEternal=false时才有效

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.elementattributes.IdleTime=1800  
 

#下面三个配置是开启辅助缓存的,如果在第一行没有设置辅助缓存,这里则是无效的。

#在第一行配置后,这里如果是false也是无效的,还是会进行一些辅助缓存的初始化操作等等,

#只是不会真正的生成缓存数据。

# 开启磁盘缓存,默认为true

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.elementattributes.IsSpool=false  
 

 

# 关闭远程缓存,默认为true

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.elementattributes.IsRemote=false  
 

 

# 关闭横向式的并行缓存,默认为true

[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. jcs.default.elementattributes.IsLateral=false  
    

       在通过配置src/classes目录下的cache.ccf文件,则可以通过代码来get到某个region缓存区域,并进一步put缓存对象了。

 

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片

  1. JCS cache = JCS.getInstance(cacheName);  
  2. cache.put("key","value");  

 

缓存技术学习 https://www.itkc8.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值