Hazelcast 3.4:如何避免从近缓存中反序列化并获取原始项

时间:2015-06-15 18:25:46

标签: hazelcast

从版本3.X开始,Hazelcast返回原始对象的副本,该副本存储在启用了近缓存的分布式地图中,而不是返回原始对象的版本2.5。

此行为允许对映射中存储的条目进行本地修改,并且GET操作很快。

现在,对于版本3.X,它将二进制对象存储在近缓存中,并且它会导致每个GET上的反序列化,这会显着影响性能。 是否可以配置Hazelcast 3.4.2 Map的Near Cache以返回对原始对象的引用,而不是原始条目的副本?

2 个答案:

答案 0 :(得分:3)

<near-cache>部分,如果您设置了

  • <in-memory-format>OBJECT</in-memory-format>
  • AND
  • <cache-local-entries>true</cache-local-entries>

您应该返回相同的实例。

这适用于客户和会员。

答案 1 :(得分:1)

我认为没有办法获得原始物品。 为避免反序列化,您可以尝试设置

<in-memory-format>OBJECT</in-memory-format> 
<near-cache>配置中的

。这样,hazelcast将以对象形式将数据存储在<near-cache>中,并且不需要反序列化。但我想这只有在客户端配置<near-cahce>时才会起作用,因为如果节点上有<near-cache>,你仍然需要序列化才能将对象从节点传递给客户端。