IMap Hazelcast尺寸操作

IMap Hazelcast尺寸操作,hazelcast,Hazelcast,如果Hazelcast中有多个节点,那么IMap.size()方法中的返回值会返回该节点中的贴图大小,还是会返回通过所有节点分布的与该贴图关联的所有对象的总大小 查看javadocs,它没有显示方法被覆盖,因此我认为方法调用不会返回非分布式映射中通常期望的值。它返回完整分布式映射的估计大小。估计是因为它只获取给定时间点上一个分区中的元素计数,因为多个分区是一个接一个地操作的,这不需要是100%的真实数量,但如果您得到大小,但不改变实际的映射,则是如此。也许我误解了什么。如果我调用IMap IMa

如果Hazelcast中有多个节点,那么IMap.size()方法中的返回值会返回该节点中的贴图大小,还是会返回通过所有节点分布的与该贴图关联的所有对象的总大小


查看javadocs,它没有显示方法被覆盖,因此我认为方法调用不会返回非分布式映射中通常期望的值。

它返回完整分布式映射的估计大小。估计是因为它只获取给定时间点上一个分区中的元素计数,因为多个分区是一个接一个地操作的,这不需要是100%的真实数量,但如果您得到大小,但不改变实际的映射,则是如此。

也许我误解了什么。如果我调用IMap IMap=hazelcastInstance.getMap(mapName),那么返回的映射不一定包含所有元素,只是碰巧存储在本地的元素正确吗?只有当我请求一个不是本地存储在映射中的对象时,它才会调用它?这是正确的,但是IMap::size是一个分布式操作,它请求所有节点的本地大小并将它们累加。由于操作是分布式的,可能需要“一些”时间,但集群不会停止响应,这意味着它只是一个估计。