5

In my ehcache configuration I see these:

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

What does that mean effectively?

Documentation mentions that timeToLiveSeconds="0" means these checks will not be made. So this means objects will be eternal, even if "eternal" is set to false?

4

2 回答 2

10

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

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

所以本质上是一样的。

于 2013-03-26T17:57:47.327 回答
5

当设置为 true 时,属性“永恒”会覆盖 TimeToIdle 和 TimeToLive 参数。当设置为 false 时,它​​对配置没有影响。因此,在上述情况下,将考虑 setTimeToIdleSeconds(0) 和 setTimeToLiveSeconds(0) 参数,并且缓存元素将保留一生(因为 0 表示无限)。

于 2013-05-13T16:07:15.977 回答