Hazelcast Continuous Query Cache - Емкость размера партии и объединение

Мы хотим кэшировать некоторые записи (т.е. в зависимости от предиката) в непрерывном кеше запросов на клиенте для IMap. Но мы хотим отправить обновление в CQC только через несколько секунд задержки (т. Е. 30 секунд), даже если записи получают примерно 100 обновлений в секунду. Этого мы можем достичь, установив задержку секунд до 30 секунд и объединяя их в true.

QueryCacheConfig cqc = new QueryCacheConfig();
cqc.setDelaySeconds(30);
cqc.setCoalesce(true);
cqc.setBatchSize(30)

CQC идеально подходит для вышеуказанного варианта использования.

Но мы замечаем, что CQC не получает обновления после секунд задержки, пока не будет достигнут размер пакета. Это ожидаемое поведение? Мы думали, что CQC получит последнее обновленное значение для записей после секунд задержки или когда размер пакета достигнет своей емкости.

1 ответ

delaySeconds и batchSize 'ИЛИ'. Обновления помещаются в кэш либо по достижении batchSize, либо по истечении delaySeconds. Если coalesce имеет значение true, тогда только последнее обновление ключа помещается в кеш.

Мы заметили некоторые проблемы при тестировании с intellij. попробуйте использовать другую IDE, если вы используете intellij

Другие вопросы по тегам