在apidoc中,有几种方法(如purge()或flush() )依赖于配置的持久性存储来操作。
不幸的是,我找不到,如何配置一个?
真的有可能吗?
发布于 2016-04-28 14:58:45
较早版本的cache2k提供了持久性支持。它是有效的,但是,它从来没有使它达到一个水平,我将完全相信生产。
实际问题是clear()操作,它的实现非常复杂。清除应该是快速的,不管存储实现需要一些时间来删除数据。因此,我的想法是切换到一种写回方案,当存储再次可用时,操作会排队并执行。实现部分回写方案只是为了清楚,这是相当多的工程.
目前,我放弃了特性集的持久性,因为我不想要一个具有稳定API并已经提供了许多有用特性的1.0版本。
从cache2k主页的路线图中可以看到,当前的计划是首先添加大容量和异步特性,然后返回存储。在完成异步功能之后,存储接口可能需要看起来完全不同。
在当前的cache2k实现中,仍然存在连接存储的接口,这样我就不会完全放弃已经实现的功能。flush()和purge()仍然是这方面的一些残余。因此,我最好在1.0版本中删除这两种方法,以避免混淆。
顺便说一句:既然我在番石榴上看到了你的问题,cache2k就支持CacheWriter,这是CacheLoader的对应版本。使用缓存加载器和编写器,您可以自己读写存储,但这与缓存本身内的存储支持不完全相同。例如,cache.contains(...)会检查存储,但是它不会检查缓存加载器,至少根据JSR107和我所知道的每个缓存实现。
https://stackoverflow.com/questions/36916528
复制相似问题