Java 从缓存中获取密钥
我必须获取IgniteCache中存储的所有密钥,不幸的是,Ignite中没有实现此方法。我正在使用java客户端。 我认为这是一种常见的方法,Ignite团队没有实施它的原因是什么Java 从缓存中获取密钥,java,ignite,Java,Ignite,我必须获取IgniteCache中存储的所有密钥,不幸的是,Ignite中没有实现此方法。我正在使用java客户端。 我认为这是一种常见的方法,Ignite团队没有实施它的原因是什么 有没有有效的解决方案来获取密钥?您可以使用null谓词获取所有密钥。它将返回所有条目(键值对)。 您还可以使用likeselect\u键从实体中选择多亏了@alexfedotov,我为我的问题创建了一个解决方案,我把它放在这里,因为有人可能会发现它很有用 List<K> keys = new Array
有没有有效的解决方案来获取密钥?您可以使用
null
谓词获取所有密钥。它将返回所有条目(键值对)。您还可以使用like
select\u键从实体中选择
多亏了@alexfedotov,我为我的问题创建了一个解决方案,我把它放在这里,因为有人可能会发现它很有用
List<K> keys = new ArrayList<>();
cache.query(new ScanQuery<>(null)).forEach(entry -> keys.add((K) entry.getKey()));
List key=new ArrayList();
cache.query(newscanquery(null)).forEach(entry->keys.add((K)entry.getKey());
运行此代码后,您将收到一个包含密钥集的列表。从缓存中获取所有密钥的最简单方法:
ICache<string, object> cache = ignite.GetCache<string, object>(cacheName);
List<string> cacheKeys = cache.Select(e => e.Key).ToList();
ICache cache=ignite.GetCache(cacheName);
List cacheKeys=cache.Select(e=>e.Key).ToList();