Hazelcast запрос, чтобы получить карту на основе набора ключей и предиката
У меня есть IMAP фундука, который выглядит как
IMAP = key -> val1, val2, val3
индексируется на val1, val2 Я пытаюсь сказать key->val2
учитывая набор ключей
hzObj.getMap("testMap").getAll(keys.toSet.asJava)
which returns the key->val1, val2, val3
Нужна помощь в написании предиката, который говорит, что возвращать только ключ->val2 Пожалуйста, помогите
2 ответа
@nocturnal, смотрите пример использования ниже:
imap.project(Projections.singleAttribute("val2"), Predicates.in("__key", new String[]{"key1, key2"}));
Одно важное замечание, которое потребует от вас также определения индекса по ключу.
Поскольку для этого будут использоваться потоки запросов, вы также можете использовать imap.getAll(Set keys)
вместо этого, а затем просто преобразовать его в коллекцию val2
,
Если я правильно понял ваш вариант использования, вы можете использовать проекции для сокращения результирующих объектов запроса, чтобы уменьшить избыточный сетевой трафик.