1

我决定使用 infinispan 分布式网格来扩展我的应用程序以支持集群,但是在使用这种共享资源时遇到了限制。如何检索分布式缓存中的所有值或键?我问这个是因为在他们的文档中,不建议在生产中运行所有收集方法(意思是 keySet())。现在我有一个带有键/值对的本地存储桶/缓存,但是为了处理我需要检索键并遍历集合的值。设置 set = cache.keySet();

当本地缓存中有大量条目时,keySet() 返回一个副本,这对内存来说是一个沉重的负担。我尝试使用查询功能,但是如果我想查找值并且不需要它,则有一些网络调用。此外,查询功能不支持复杂的过滤器。您知道在生产中使用 infinispan 时哪种方法最好吗?

由于这是一个实验阶段,我正在使用最后一个 infinispan 版本。

非常感谢。

4

2 回答 2

2

Map/Reduce 功能允许您遍历存储的所有条目,还可以迁移数据所在的逻辑,因此不会增加很多负担。

于 2012-11-29T09:20:51.870 回答
0

我们在生产中使用 keySet() 仅供参考。在低数据负载下性能似乎不是一个大问题,但是您当然应该非常小心地使用这些方法,因为它们可能会对性能产生很大影响,具体取决于您使用缓存的方式。远程缓存查询对我来说似乎是一个非常方便的功能。

于 2014-10-31T15:15:07.633 回答