强制执行GC并进行堆转储显示,表明元素已从内存中收集。
maxEntriesLocalHeap="10000"
eternal="false"
statistics="true"
overflowToDisk="false"
timeToIdleSeconds="1800"
memoryStoreEvictionPolicy="LFU"
transactionalMode="off"
[从上面,我看到ehcache令人印象深刻,元素已过期,这可能会导致我的代码逻辑刷新它们,但在内部内存下直到元素被污染为止,直到我调用特定元素或getKeysWithExpiryCheck()为止,这不允许我使用ehcache作为有效的内存管理器
如何在timeToIdleSeconds秒后使元素成为GS?如果在timeToIdleSeconds以上未使用元素,我希望清除内存。
Michael
同样,如果内存消耗是主要的问题,您可能需要研究新的Ehcache 2.5,它使您(即使在CacheManager级别上)也可以指定使用多少堆...
强制GC并进行堆转储显示,这些元素收集到内存不足。
这真的很痛。为什么不创建一个称为expired-element-check-thread的线程来检查这些元素是否已过期?我可以看到diskStore具有此配置'diskExpiryThreadIntervalSeconds'