当从内存缓存中逐出缓存条目时,将触发标准逐出事件。在我们的例子中,只有当它从被配置为SingleFileStore的重新启动 - 持久性磁盘高速缓存中逐出时才需要通知。这甚至可能吗?
我们将Infinispan用作本地缓存,因此任何群集注意事项对我们都没有用。
我们的缓存配置如下:
manager.defineConfiguration("eviction-test-cache", new ConfigurationBuilder()
.persistence().addSingleFileStore().location("eviction-test")
.maxEntries(500).preload(true).purgeOnStartup(false)
.eviction().strategy(LRU).maxEntries(100L)
.build());
答案 0 :(得分:2)
这是交叉发布到:https://developer.jboss.org/message/935198#935198
引用我的回复:
此处的maxEntries = 500特定于SingleFileStore并删除没有通知的条目,因为这超出了正常的驱逐范围。如果你想要你可以创建一个改进JIRA来为SingleFileStore添加某种通知(虽然我不太确定它会是什么样子)。另一种选择是你可以使用新的软索引文件存储[1],可以在[2]中获取(这没有将每个密钥存储在内存中的问题。
[1] http://infinispan.org/docs/8.0.x/user_guide/user_guide.html#_soft_index_file_store
[2] http://mvnrepository.com/artifact/org.infinispan/infinispan-persistence-soft-index
答案 1 :(得分:0)
不,库存SingleFileStore
无法实现。