环境:Spring 2.5.6、Hibernate 3.3.2、Ehcache 2.0.1、terracotta 3.2.1
我在一个抽象类上有一个缓存(有 5 个继承者)
<cache name="com.f4.owl.domain.good.GoodType"
maxElementsInMemory="15000"
eternal="false"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false">
<terracotta/>
</cache>
我还有一个加载 6550 个元素的页面。起初缓存似乎正在工作(从缓存中检索项目并且页面加载速度更快)但过了一段时间(从几分钟到几个小时),它会重新加载数据库中的所有内容。
使用 terracotta 开发人员控制台,看起来缓存确实从 6550 清空到大约 70 个元素。
据我了解,将 timeToIdleSeconds 和 timeToLiveSeconds 都设置为零应该使缓存永久化,因此它永远不会缩小。有人可以对此有所了解吗?