在 apache geode 中调用 getall 来获取列表中键的所有数据很慢

问题描述

我正在使用 region getall 方法来获取所有键的值,但我发现对于 apache geode 中存在的键,它可以快速获取数据,但对于 apache geode 中不存在的键。它会一一调用缓存加载器。有没有什么机制可以并行调用cacheloader。

解决方法

我认为没有一种开箱即用的方法,至少在使用单个 Region.getAll() 操作时没有。如果我没记错的话,服务器只是遍历 keys 并对每一个执行 get,最终触发 CacheLoader 执行。

但是,您可以通过将 keys 的集合拆分为多个集合,并使用这些较小的集合启动不同的线程来执行 Region.getAll() 操作来实现一定程度的并行性。当然,每个集合的实际大小和线程数将取决于您期望的缓存命中/未命中比率,以及您的 SLA 要求。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...