使用具有DeltaAware和Delta接口infinispan的RemoteCache

时间:2015-06-18 01:57:12

标签: caching cluster-computing distributed infinispan delta

我需要一些与infinispan中的以下场景相关的指导。这是我的情景:

1)我创建了两个节点并使用客户端服务器模式在infinispan中成功启动。

2)在热棒客户端,我创建了一个remotechachemanager,然后获得了一个RemoteCache。

3)在远程缓存中我把这个像cache.put(key,new HashMap());它已成功添加。

4)现在,当我要使用cache.remove(key)清除此值时,我发现它没有被删除,并且每次去除它时哈希映射仍然存在。

如何清除该值以便从群集的所有节点清除它?

如何在上面的值HashMap中添加或删除更改?

与实施DeltaAware和Delta接口有什么关系吗?

请建议我这个概念或我可以学习的一些指示

谢谢

1 个答案:

答案 0 :(得分:2)

只要您使用相同的密钥并且在密钥上正确实现了equals()和hashCode(),就可以删除HashMap。我假设您正在使用分布式或复制模式。 编辑:我已经意识到equals()和hashCode()对RemoteCache并不重要,因为无论如何都要对序列化进行序列化,并且所有比较都将在底层字节[]上执行。

远程缓存不直接支持DeltaAware。通常,即使在库模式下使用它们也非常棘手。

如果你想将缓存与地图一起使用,我建议使用复合键,如cache-key#map-key,而不是存储复杂的HashMap。