我是hazelcast的新手并将其用于共享缓存。
我们有两个使用共享缓存的节点。
现在,我们正在暴露一个API,它将刷新一个节点上的共享缓存,但是,我们需要刷新每个节点上的近缓存。
如果我们要刷新共享缓存,我们将获取缓存,清除缓存并重新填充。
但是,我不确定如何仅刷新近缓存。
基本上,我想从命中API的节点刷新共享缓存,因此它将刷新该节点上的近缓存。并且只需要刷新另一个节点的缓存附近。
有人可以告诉我,如果我们只能在缓存附近刷新而不刷新完整的共享缓存以及如何使用示例吗?
提前感谢您的帮助。
答案 0 :(得分:3)
您不需要手动管理近缓存,您可以确保在近缓存配置中将<invalidate-on-change>
设置为true。它指定在原始高速缓存上更新或删除条目时是否应逐出高速缓存的条目。其默认值为true。
答案 1 :(得分:1)
在第一次获取请求之后,NearCache只保留该键的本地缓存中的值,直到它失效或超时。如果要更新键值,它将与群集同步 您无法单独刷新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条目将获得刷新的数据。