java - 从 Hazelcast Map 读取值列表的最有效方法

标签 java hazelcast

我们使用 Hazelcast 作为缓存,并希望从单个 map 中读取包含 50 个项目的列表。目前我们发现读取此列表有相当长的延迟~20 毫秒。读取单个条目的速度非常快,但似乎扩展速度相当糟糕。我尝试过使用Imap方法

  • .getAll(setOfKeys)
  • 迭代列表并为每个列表调用 .get(singleKey)
  • 迭代列表并调用 .getAsync(singleKey),然后迭代获取它们的 future 列表

是否有更好的方法来做到这一点,或者我是否需要重新考虑我们缓存/使用 Hazelcast 的方式,以某种方式将 map 上的 get 调用减少为单个调用。

一些附加信息

  • map 中的项目总数约为 35,000
  • 所有项目的大小约为 350MB,每个条目约为 10kb
  • 我正在本地计算机上的 Spring Boot 应用程序中将其嵌入到 JVM 中运行
  • 对 HazelcastInstance.getMap(mapName) 的调用耗时不到 1 毫秒

最佳答案

我想这在很大程度上取决于确切的设置,但从你的问题来看,你似乎没有尝试 entrySet()

我相信这将是最快的。

关于java - 从 Hazelcast Map 读取值列表的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60214695/

相关文章:

java - Hazelcast keySet 流媒体?

java - 具有父节点的二分搜索树级别顺序

java - 异常类定义

java - 带分组的 Spark 数据处理

java - HazelcastInstance bean - 正确的销毁方法是什么?

java - Hazelcast:MapLoader 文档为 loadAllKeys 提供了空实现

java - Hazelcast Ringbuffer readManyAsync 返回空结果

java - 如果我不知道数组将有多少个元素?

java - LWJGL—如何使用 Sprite Sheet 制作动画和渲染角色

java - Hazelcast 防止 JVM 终止