JCS对象缓存到Disk的过程是在缓存分区执行dispose()操作或者JVM shutdown的时候才执行写入,不是保存1个写1个;
JCS对象缓存到Disk有可能会因为断电等异常情况导致缓存到Disk不成功;
JCS中defineRegion( String name, ICompositeCacheAttributes cattr, IElementAttributes attr )方法的attr参数在实现中没有使用,故不能通过调用这个方法来配置动态生成缓存分区的ElementAttributes,只能通过在put()缓存对象时传递ElementAttributes参数来实现;
当达到内存中最大缓存对象数(MaxObjects)后,使用org.apache.jcs.engine.memory.lru.LRUMemoryCache策略时每次会默认把最后两个缓存对象移除,这样就产生了一个很奇怪的现象,当MaxObjects=4,往缓存中加入6个缓存对象时,最后缓存中只剩下2个缓存对象;
JCS中getKeys()、getSize()等方法都是针对Memeory中的缓存对象,要同时获取Memory和Disk中的Keys只能通过getGroupKeys()来实现。
本文出自 “折翼天使” 博客,请务必保留此出处http://99307064.blog.51cto.com/718663/1432996
原文地址:http://99307064.blog.51cto.com/718663/1432996