Ehcache - 物体是否永恒

时间:2013-03-26 17:47:58

标签: caching ehcache terracotta

在我的ehcache配置中,我看到了这些:

eternal="false"
timeToIdleSeconds="0"
timeToLiveSeconds="0"

这有效意味着什么?

文档提到timeToLiveSeconds =“0”表示不会进行这些检查。所以这意味着对象将是永恒的,即使“永恒”被设置为假?

2 个答案:

答案 0 :(得分:10)

如果你看CacheConfiguration.java:826(我的Ehcache版本是2.6.5),你会看到以下内容:

if (eternal) {
    setTimeToIdleSeconds(0);
    setTimeToLiveSeconds(0);
}

所以它基本上是一样的。

答案 1 :(得分:5)

设置为true时,属性'eternal'会覆盖TimeToIdle和TimeToLive参数。设置为false时,它不会影响配置。因此,在上面的情况下,将考虑setTimeToIdleSeconds(0)和setTimeToLiveSeconds(0)参数,并且缓存元素将保留一生(因为0表示无限)。