繁体   English   中英

Hazelcast IMap性能

[英]Hazelcast IMap performance

我使用hazelcast 3.8.6。 有一个具有以下设置的IMAP {Key,Value}:

mapConfig.setBackupCount(5);
mapConfig.setReadBackupData(true);

关键是

long userId;
long contentId;

数据也有5个节点。 据我了解,根据设置每个节点将拥有所有数据。 这样,我将分布式映射转换为复制映射以提高获取操作的速度,并且不进行网络调用。

让我们想象我需要通过id获取用户的所有数据。 在通常模式下,我将编写下一个代码:

EntryObject eo = new PredicateBuilder().getEntryObject();
Predicate predicate = eo.key().get("this.userId").equal(userId);
map.values(predicate).stream().map(.....)

该代码将在所有节点上执行,结果将返回给进行调用的节点。 我是否正确地说,如果设置为“ setReadBackupData(true)”,该请求将不会发送到其他节点,并且所有数据都将在发出此请求的节点上找到? 或者在这种情况下,为了避免网络通话,我应该使用如下所示的内容:

map.entrySet().stream()
.filter(entry->entry.getKey().getUserId().equals(userId))
.map(.....)

谢谢。

请记住,仅当您从Member内部执行查询时,readBackupData标志才起作用,因此,如果您使用的是HazelcastClient,则它将不会从备份中读取。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM