我最近开始在Hazelcast工作,我发现Map的get(Key)
方法只返回克隆值。但我需要原始对象而不是克隆。在这里搜索一些问题时,我发现有一些名为cache-value = "true"
的东西用于Hazelcast的Spring集成,它将缓存值的对象版本并将在本地读取上返回相同的副本。如何在没有弹簧的情况下实现此功能,因为我只使用核心java?
答案 0 :(得分:2)
Hazelcast是一个分布式缓存;在集群中的节点周围分配密钥和值将要求它们被序列化,因此您不应期望获得放入的确切对象。
通常,在使用分布式缓存时,所有键和值对象都需要实现equals
(和hashcode
),以便可以比较两个在语义上相等的单独实例。不可序列化的对象(套接字,JDBC连接等)不适合存储在分布式缓存中,如果这是您要解决的问题,则应使用java.util.Map
。