【发布时间】:2014-06-19 14:24:57
【问题描述】:
我在缓存中设置了 timeToIdle 和 timeToLive 属性。它们分别设置为 10 分钟和 1 小时。
每 5 分钟,我有一个 cron 作业调用 getKeysWithExpiryCheck() 对缓存中的元素进行一些处理。我还注册了一个缓存侦听器,以便在元素过期或被驱逐时执行一个进程。
我发现只有在缓存变满时才会从缓存中删除元素——尽管调用了getKeysWithExpiryCheck。因为我使用的是 Terrocota 大内存缓存 (4.0.4),所以这总是会锁定我的系统,因为缓存会过期(并执行一个处理)数百万个应该在 TTL 或 TTI 的 5 分钟内处理的条目。
有人有什么建议吗?
【问题讨论】:
标签: java ehcache ehcache-bigmemory