2013-07-02 49 views
1

我想將對象存儲在Cache中,這些對象使用使用不同對象作爲公共標識符的鍵。將密鑰放入緩存或從緩存中查找條目時,這可以正常工作。Ehcache中的複合鍵/通過部分鍵從緩存中刪除

但是,有時我想清除某些對象的緩存。然後我只有部分密鑰可用。我想刪除與這部分關鍵字匹配的所有條目。有沒有簡單的方法來清除緩存中的這些內容?

回答

0

那麼,我得到了儘可能使用Searchable API這適用於不溢出到磁盤的緩存。就我而言,顯然沒有解決辦法。我現在建立了自己的緩存,它位於Guava緩存的頂部,我使用RemovalListener序列化條目,並檢查CacheLoader中是否存在磁盤上存儲的值。我仍然遇到一些小問題,因爲RemovalListener未在緩存的密鑰上同步。否則,這工作正常。由於番石榴緩存比Ehcaches便宜,這也允許我創建幾個實例。當我序列化時,我爲每個關鍵區域創建文件,這樣如果我需要清理複合鍵值,我可以刪除整個文件夾。