【问题标题】:Retrieving expired objects in Ehcache在 Ehcache 中检索过期对象
【发布时间】:2010-10-11 05:29:50
【问题描述】:

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

  • 尝试从缓存中获取元素
  • 如果元素没有过期
    • 服务于价值
  • 其他
    • 提供过期值
    • 在后台刷新元素

但是我从来没有得到一个过期的元素 (Element.isExpired())。我尝试使用我的缓存配置(尤其是 TimeToLive 和 TimeToIdle),但我似乎无法让它按我的意愿工作。我可以列出缓存中的键,但是如果我“get()”一个过期的元素,我总是得到一个空值。

我做错了什么?

【问题讨论】:

  • 只是好奇,你有没有想出解决方案或替代方法?

标签: java configuration caching ehcache


【解决方案1】:

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

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

【讨论】:

  • 注意事件监听器(notifyElementExpiry)。只有元素的键是已知的。根据 API 中的以下语句:由于元素已过期,因此只知道元素的键是什么。只是遇到了麻烦。
猜你喜欢
  • 2018-06-02
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多