Как обновить только возле кэша в Hazelcast

Я новичок в hazelcast и использую его для общего кэша.

У нас есть два узла, которые используют общий кеш.

Теперь у нас есть один API, который обновит общий кеш на одном узле, но нам нужно обновить ближайший кеш на каждом узле.

Если мы хотим обновить общий кеш, мы получим кеш, очистим его и снова заполним.

Но я не уверен, как обновить только ближайший кеш.

По сути, я хочу обновить общий кэш с узла, где работает API, поэтому он также обновит и ближайший кэш на этом узле. И только нужно обновить возле кеша другого узла.

Может кто-нибудь, пожалуйста, дайте мне знать, если мы можем обновить только рядом с кешем без обновления полного общего кеша и как это сделать на примере?

Заранее спасибо за помощь.

2 ответа

Вам не нужно управлять ближним кешем вручную, вы можете просто убедиться, что вы установили <invalidate-on-change> истина в конфиге ближнего кеша. Он указывает, следует ли удалять кэшированные записи при обновлении или удалении записей в исходном кэше. Значение по умолчанию - true.

NearCache просто хранит значение этого ключа в своем локальном кэше после первого запроса get, пока он не будет аннулирован или истек тайм-аут. Если вы обновляете ключ-значение, он синхронизируется с кластером.
Вы не можете обновить записи NearCache в одиночку, что противоречит самой цели распределенного кэша.

<!--
Should the cached entries get evicted if the entries are changed (updated or removed).
true of false. Default is true.
-->
<invalidate-on-change>true</invalidate-on-change>

Пока указанное выше свойство имеет значение true (что по умолчанию, если вы не добавили его в конфигурацию), записи NearCache на другом узле будут получать обновленные данные всякий раз, когда в последующем вызове будет нажата клавиша.

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