我正在使用Java缓存系统(JCS - https://commons.apache.org/proper/commons-jcs/)
我想知道MaxLife和MaxLifeSeconds之间的区别
MaxLife:如果指定区域内的元素不是永恒的,则可以设置最大生命周期秒。如果超出此范围,则在客户端尝试检索元素时,将被动删除元素。如果您使用的是内存收缩器,则可以主动删除这些项目。
MaxLifeSeconds:如果元素不是永恒的,则此选项定义每个对象在删除之前的最大生命周期。如果内存收缩器正在运行,则收缩器会移除对象;如果没有,它们会在被访问时被删除。此选项默认为-1,禁用该选项。
这些定义似乎差不多。
这只是名称的变化吗?
答案 0 :(得分:0)
我的猜测是MaxLifeSeconds被删除了。
使用JCS 2.0-beta-1,我有:
CacheAccess.getCacheControl().getElementAttributes().setMaxLife(arg0);
CacheAccess.getCacheControl().getElementAttributes().getMaxLife();
JCS文档将MaxLife列为区域(元素)属性
在旧的邮件列表存档(2006年5月11日星期四)中,我在有关升级到JCS版本1.2.7.0的消息中找到对MaxLifeSeconds的引用