【问题标题】:IMap Hazelcast size operationIMap Hazelcast 大小操作
【发布时间】:2014-10-29 17:14:36
【问题描述】:

如果您在 Hazelcast 中有多个节点,IMap.size() 方法中的返回值将返回该节点中地图的大小或与该地图关联的所有对象的总大小,这些对象分布在所有节点中?

查看 javadocs,它没有显示该方法被覆盖,所以我想该方法调用不会返回非分布式映射中通常预期的内容。

【问题讨论】:

    标签: hazelcast


    【解决方案1】:

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

    【讨论】:

    • 也许我误解了什么。如果我调用 IMap iMap = hazelcastInstance.getMap(mapName) 我返回的地图不一定包含所有元素,只是那些碰巧存储在本地的元素正确吗?只有当我请求一个未本地存储在地图中的对象时,它才会调用它?
    • 没错,但IMap::size是分布式操作,请求所有节点的本地大小并累加。由于操作是分布式的,可能需要“一些”时间,但集群不会停止响应均值,而这只是一个估计值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 2012-12-23
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    • 2022-11-15
    • 2021-08-28
    相关资源
    最近更新 更多