Как получить значение из IMAP (hazelcast) с учетом списка ключей? - PullRequest
0 голосов
/ 27 июня 2018

Проблема, которую мы пытаемся решить: Дайте список ключей, каков наилучший способ получить значение из IMap, учитывая, что количество записей около 500K?

Также нам нужно отфильтровать значения по полям.

Вот пример карты, с которой мы пытаемся читать.

Дано IMap[String, Object] Мы используем protobuf для сериализации объекта Объект можно сказать

Message test{ Required mac_address eth_mac = 1, ….// size can be around 300 bytes }

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете использовать IMap.getAll(keySet), если знаете ключи заранее. Это намного лучше, чем одноразовое использование, так как при массовых операциях будет гораздо меньше сетевых отключений.

Для фильтрации вы можете использовать предикаты IMap.values(predicate), IMap.entryset(predicate) или IMap.keyset(predicate) в зависимости от того, что вы хотите фильтровать.

Подробнее: http://docs.hazelcast.org/docs/latest/manual/html-single/index.html#distributed-query

...