2016-04-28 92 views

回答

1

早期版本的cache2k有持久性支持。它正在工作,但是,但它從來沒有達到我完全信任生產的水平。

實際問題是clear()操作,它有一個相當複雜的實現。無論存儲實施需要一些時間來刪除數據,清除應該都很快。所以,我的想法是切換到回寫模式,當存儲再次可用時,操作會排隊並執行。實現部分回寫方案只是爲了清除,是相當一些工程...

目前我從功能集中刪除持久性,因爲我不想要一個穩定的API的1.0版本,並提供已經有很多有用的功能。

正如您從cache2k主頁上的路線圖所看到的,當前計劃首先添加批量和異步功能,然後返回存儲。異步功能完成後,存儲界面可能看起來完全不同。

在當前的cache2k實現中,仍然存在存儲將被掛接的接口,這樣我就不會完全放棄已經實現的接口。 flush()purge()仍然是這個的一些殘餘。所以我最好將刪除1.0版本的這兩種方法,以避免混淆。

順便說一句:因爲我在番石榴看到你的問題,cache2k支持CacheWriter這是CacheLoader的副本。使用緩存加載器和寫入器,您可以自己讀寫存儲器,但與緩存本身內的存儲支持不同。例如cache.contains(...)會檢查存儲,但至少根據JSR107和我知道的每個緩存實現來檢查緩存加載器。

+0

很明顯,謝謝! – Dims