2017-08-30 121 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())); 

運行此代碼後,您將收到一個帶鍵集的列表。