我在生产中使用keySet()api。但我知道不推荐。
所以我想在版本7.x上将其更改为新的api 它是在官方博客上介绍的。 http://blog.infinispan.org/2014/05/iterate-all-entries-in-cache.html
但我无法弄清楚如何在Hotrod RemoteCache中使用它。
任何人都已经尝试过成功了?
非常感谢。
答案 0 :(得分:4)
这是在https://developer.jboss.org/message/920029?et=watches.email.thread#920029
处回答的 Radim Vansa说:威廉伯恩斯说:令人遗憾的是,此功能尚未通过Hot Rod提供。远程客户端在嵌入模式功能之后具有一定的延迟。人力资源上的Map / Reduce和DistributedExecutors在路线图上非常接近,分布式入口检索器应该遵循。
我还想确保你知道keySet方法可以在API中使用,如[1]所述。 Cache Javadoc有一些更具体的细节[2]。基本上你永远不应该使用的方法是从keySet,entrySet或值返回的集合上的toArray方法。其他方法懒得完成。请注意,这意味着该集合也不像以前一样。
另外要注意,如果您最终使用这些批量方法中的任何迭代器,则需要确保正确关闭它们。
然而,Radim指出Hot Rod还没有这种支持(仅限嵌入式),但很快就会推出新版本。
[1] http://blog.infinispan.org/2014/11/why-doesnt-mapsize-return-size-of.html
[2] https://docs.jboss.org/infinispan/7.1/apidocs/org/infinispan/Cache.html#entrySet%28%29