微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。