2

我正在使用 Java 缓存系统(JCS - https://commons.apache.org/proper/commons-jcs/

我想知道 MaxLife 和 MaxLifeSeconds 之间的区别

MaxLife:如果你指定一个区域内的元素不是永恒的,那么你可以设置最大生命秒数。如果超过此值,则当客户端尝试检索元素时,元素将被被动删除。如果您使用的是内存收缩器,则可以主动删除这些项目。

MaxLifeSeconds:如果元素不是永恒的,则此选项定义每个对象在被删除之前的最大寿命。如果内存收缩器正在运行,则对象被收缩器移除;如果不是,则在访问它们时将其删除。此选项默认为 -1,即禁用该选项。

这些定义似乎几乎相同。

仅仅是名字的改变吗?

4

1 回答 1

0

我的猜测是 MaxLifeSeconds 被贬低了。

使用 JCS 2.0-beta-1 我有:

    CacheAccess.getCacheControl().getElementAttributes().setMaxLife(arg0);
    CacheAccess.getCacheControl().getElementAttributes().getMaxLife();

JCS 文档将 MaxLife 列为区域(元素)属性

JCS 区域属性

在一个旧的邮件列表存档中(2006 年 5 月 11 日星期四),我在关于升级到 JCS 版本 1.2.7.0 的消息中找到了对 MaxLifeSeconds 的引用

jakarta-jcs-users 邮件列表档案

于 2015-10-01T01:57:28.900 回答