2017-08-30 115 views
0

我必须获取存储在IgniteCache中的所有密钥,不幸的是,此方法未在Ignite中实现。我正在使用java客户端。 我以为这是一种常见的方法,Ignite团队没有实现它的原因是什么?从IgniteCache获取密钥

是否有任何有效的解决方案获取密钥?

回答

2

您可以使用ScanQuerynull谓词获取所有密钥。它将返回所有条目(键值对)。
同样可以使用一个SqlFieldsQueryselect _key from Entity

1

感谢@alexfedotov我创造了我的问题的解决方案,我在这里positng它,因为有人可能会觉得它有用。

List<K> keys = new ArrayList<>(); 
cache.query(new ScanQuery<>(null)).forEach(entry -> keys.add((K) entry.getKey())); 

运行此代码后,您将收到一个带键集的列表。