在Ehcache中检索过期的对象

Gui*_*ume 8 java configuration caching ehcache

我想在Ehcache上面实现以下算法:

  • 尝试从缓存中获取一个元素
  • 如果元素没有过期
    • 为价值服务
  • 其他
    • 提供过期的价值
    • 刷新背景中的元素

但我永远不会得到一个过期的元素(Element.isExpired()).我尝试使用我的缓存配置(尤其是TimeToLive和TimeToIdle),但我似乎无法让它按我的意愿工作.我可以列出缓存中的键,但如果我"get()"一个过期的元素,我总是得到一个null.

我究竟做错了什么 ?

cle*_*tus 4

你没有做错任何事。文档说获取过期元素会将其从缓存中删除并返回 null。

我怀疑元素过期的唯一时间是如果您有一个事件侦听器侦听元素过期事件,但我不能说我曾经测试过这一点。