Caching Infinispan多对一缓存使用对象池,而不是创建新的对象池?

Caching Infinispan多对一缓存使用对象池,而不是创建新的对象池?,caching,replication,infinispan,Caching,Replication,Infinispan,我有一个用例,在这个用例中,我非常频繁地收到一些需要使用Infinispan缓存的数据(在库模式/进程中的复制集群中),其中的数据通常非常相似,但不同密钥的数量远远大于可能的不同关联数据的数量 我担心不必要地创建/复制的数据对象的数量,这些对象在不同的键下大多是相互重复的 我唯一的选择是将缓存一分为二吗?e、 g key->data hash->data 我唯一的问题是,key->data hash可能在data拥有->data缓存之前复制到集群的其余部分。我需要数据在键被复制时(当我处理该事件

我有一个用例,在这个用例中,我非常频繁地收到一些需要使用Infinispan缓存的数据(在库模式/进程中的复制集群中),其中的数据通常非常相似,但不同密钥的数量远远大于可能的不同关联数据的数量

我担心不必要地创建/复制的数据对象的数量,这些对象在不同的键下大多是相互重复的

我唯一的选择是将缓存一分为二吗?e、 g

key->data hash->data

我唯一的问题是,
key->data hash
可能在
data拥有->data
缓存之前复制到集群的其余部分。我需要
数据
被复制时(当我处理该事件时)在那里


或者是否有其他可用选项,例如拦截缓存插入以使用这些数据对象的池?

没有允许您消除重复数据的功能,因此,是的,您需要将其分为两个缓存。你可以写,但是有狮子。您是否会遍历所有本地条目以查找匹配项

如果将非事务性缓存与同步复制一起使用,则只需先更新
dataId->data
缓存,然后更新
键->dataId
。在调用第二个操作时,第一次写入将复制到所有节点