英文:
Infinispan equivalent of IMap.values(Predicate)
问题
在Infinispan中是否有类似Hazelcast的IMap.values(Predicate)
功能?并且可能支持非阻塞(异步)操作?
谢谢。
英文:
Is there an equivalent of Hazelcast's IMap.values(Predicate)
for Infinispan ? And possibly non-blocking (async) ?
Thanks.
答案1
得分: 2
根据您所尝试的操作而定。Infinispan 扩展了 Java 的 Stream 功能,因此您可以使用 Stream 接口来获取经过筛选的值。
示例:
// 按键筛选
cache.values().stream()
.filterKeys(/*使用键集*/)
.forEach(/*对值执行某些操作*/) // 或者使用 collect()
// 按键和值筛选
cache.getAdvancedCache().cacheEntrySet().stream()
.filter(entry -> /*使用 entry.getKey() 或 entry.getValue() 检查键和值*/)
.map(StreamMarshalling.entryToValueFunction()) // 仅提取值
.forEach(/*对值执行某些操作*/) // 或者使用 collect()
有关 Infinispan 流的文档可以在此处找到。
英文:
It depends on what you trying to do. Infinispan extends Java's Stream functionality so you can use the Stream interface to get the filtered values.
Examples
//filter by key
cache.values().stream()
.filterKeys(/*set with keys*/)
.forEach(/*do something with the value*/) //or collect()
//filter by key and value
cache.getAdvancedCache().cacheEntrySet().stream()
.filter(entry -> /*check key and value using entry.getKey() or entry.getValue()*/)
.map(StreamMarshalling.entryToValueFunction()) //extract the value only
.forEach(/*do something with the value*/; //or collect()
Infinispan documentation about streams here.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论