> ehcache 2.5
> timetoIdleSeconds =“1800”(30分钟),所以我希望元素在空闲30分钟后逐出
>最后一个元素使用30分钟我仍然可以看到缓存中充满了元素
>强制GC并进行堆转储显示,这些元素仍然在内存中
> getSize()返回正数,getKeys()按预期方式返回键(getKeys()不检查元素到期)
>获取特定元素,尽管结果为NULL值,意味着它已过期.
> getKeysWithExpiryCheck()显示,该缓存为空,所有元素都已被删除
>强制GC和采取堆转储显示,从内存收集的元素.
> timetoIdleSeconds =“1800”(30分钟),所以我希望元素在空闲30分钟后逐出
>最后一个元素使用30分钟我仍然可以看到缓存中充满了元素
>强制GC并进行堆转储显示,这些元素仍然在内存中
> getSize()返回正数,getKeys()按预期方式返回键(getKeys()不检查元素到期)
>获取特定元素,尽管结果为NULL值,意味着它已过期.
> getKeysWithExpiryCheck()显示,该缓存为空,所有元素都已被删除
>强制GC和采取堆转储显示,从内存收集的元素.
maxEntriesLocalHeap="10000" eternal="false" statistics="true" overflowTodisk="false" timetoIdleSeconds="1800" memoryStoreevictionPolicy="LFU" transactionalMode="off"
从上面我看到,这个ehcache让人印象深刻,那些元素过期了,这可能导致我的代码逻辑刷新,但是在引擎内存中直到被元素污染,直到我调用特定元素或getKeysWithExpiryCheck(),这不让我使用ehcache作为有效的记忆管理器
如何使元素成为GS后的TimetoIdleSeconds时间?如果元素没有被使用超过timetoIdleSeconds,我想要清理内存.
迈克尔
解决方法
原文地址:https://www.jb51.cc/java/123698.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。