2009-03-04 50 views
8

過期的對象我想實現以下algorythm以上的Ehcache:檢索中的Ehcache

  • 嘗試從緩存
  • 獲得元素如果元素沒有過期
    • 服務值
  • 其他
    • 服務過期值
    • 刷新元素的背景

但我從來沒有得到一個過期的元素(Element.isExpired())。我試圖玩我的緩存配置(特別是TimeToLive和TimeToIdle),但我似乎無法讓它按我的想法工作。我可以列出緩存中的鍵,但如果我「get()」過期的元素,我總是會得到一個空值。

我在做什麼錯?

+1

只是好奇,你有沒有想出一個解決方案或替代方法呢? – 2011-03-11 00:11:29

回答

4

你沒有做錯任何事情。該文檔說,獲取過期的元素將從緩存中刪除它並返回null。

我懷疑一個元素會過期的唯一時間是如果你有一個事件監聽器監聽元素過期事件,但我不能說我曾經測試過這個。

+0

注意事件監聽器(notifyElementExpiry)。只有元素的關鍵是kown。根據API中的以下句子:因爲元素已經過期,所以只知道元素的關鍵。剛剛遇到了這個問題。 – schoeggii 2012-11-01 16:25:28