我们使用hazelcast作为缓存,希望从一个Map中读取50个项目的列表。目前我们看到读取这个列表有相当长的延迟,大约20毫秒。读取一个条目非常快,但似乎扩展得相当严重。我试过使用
.getall(密钥集)
迭代列表并为每一个调用.get(singlekey)
迭代列表并调用.getasync(singlekey),然后迭代未来列表以获取它们
有没有更好的方法来实现这一点,或者我是否需要重新考虑我们缓存/使用hazelcast的方式,以某种方式将map上的get调用减少为单个调用。
一些额外的信息
Map上的物品总数约为35000件
所有项目的大小约为350mb,每个项目的大小约为10kb
我正在本地机器上的spring引导应用程序中运行这个嵌入到jvm中的程序
对hazelcastinstance.getmap(mapname)的调用不到1ms
1条答案
按热度按时间tgabmvqs1#
我想这很大程度上取决于具体的设置,但从你的问题来看,似乎你没有尝试
entrySet()
.我相信那是最快的。