2016-04-28 90 views

回答

1

早期版本的cache2k有持久性支持。它正在工作,但是,但它从来没有达到我完全信任生产的水平。

实际问题是clear()操作,它有一个相当复杂的实现。无论存储实施需要一些时间来删除数据,清除应该都很快。所以,我的想法是切换到回写模式,当存储再次可用时,操作会排队并执行。实现部分回写方案只是为了清除,是相当一些工程...

目前我从功能集中删除持久性,因为我不想要一个稳定的API的1.0版本,并提供已经有很多有用的功能。

正如您从cache2k主页上的路线图所看到的,当前计划首先添加批量和异步功能,然后返回存储。异步功能完成后,存储界面可能看起来完全不同。

在当前的cache2k实现中,仍然存在存储将被挂接的接口,这样我就不会完全放弃已经实现的接口。 flush()purge()仍然是这个的一些残余。所以我最好将删除1.0版本的这两种方法,以避免混淆。

顺便说一句:因为我在番石榴看到你的问题,cache2k支持CacheWriter这是CacheLoader的副本。使用缓存加载器和写入器,您可以自己读写存储器,但与缓存本身内的存储支持不同。例如cache.contains(...)会检查存储,但至少根据JSR107和我知道的每个缓存实现来检查缓存加载器。

+0

很明显,谢谢! – Dims