Apache Ignite - получить все из кеша - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь получить все элементы из кэша Apache Ignite.

В настоящее время я могу получить отдельный элемент, используя

ClientCache<Integer, BinaryObject> cache = igniteClient.cache("myCache").withKeepBinary();

BinaryObject temp = cache.get(1);

Чтобы получить все ключи, я попробовал следующее:

 try ( QueryCursor<Entry<Integer,BinaryObject>> cursor = cache.query(new ScanQuery<Integer, BinaryObject>(null))) {
               for (Object p : cursor)
                 System.out.println(p.toString());
             }

Это возвращает список org.apache.ignite.internal.client.thin.ClientCacheEntry, который является внутренним, и я не могу позвонить getValue.

Как я могу получить все элементы для этого кэша?

1 Ответ

0 голосов
/ 28 ноября 2018

Используя Итератор , вы можете получить все значения и ключ из кэша.ниже приведен пример кода для извлечения всех значений из кэша.

Iterator<Entry<Integer, BinaryObject>> itr = cache.iterator();                
                  while(itr.hasNext()) {
                     BinaryObject object = itr.next().getValue();
                     System.out.println(object);
                 }
...