1

我是 hazelcast 的新手,并将其用于共享缓存。

我们有两个使用共享缓存的节点。

现在,我们公开了一个 API,它将刷新一个节点上的共享缓存,但是,我们需要刷新每个节点上的近缓存。

如果我们想刷新共享缓存,我们将获取缓存,清除它并重新填充它。

但是,我不确定如何只刷新附近的缓存。

基本上,我想从 API 被命中的节点刷新共享缓存,因此它也会刷新该节点上的近缓存。并且只需要刷新其他节点的缓存附近。

有人可以让我知道我们是否只能在缓存附近刷新而不刷新完整的共享缓存以及如何通过示例来做到这一点?

在此先感谢您的帮助。

4

2 回答 2

3

您不需要手动管理近缓存,只需确保您已<invalidate-on-change>在近缓存配置中设置为 true。它指定在原始缓存上更新或删除条目时是否应逐出缓存条目。它的默认值为真。

于 2017-02-21T09:52:14.053 回答
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>

只要上面的属性为真(默认情况下,如果您没有将其添加到配置中),那么只要在后续调用中按下键,另一个节点上的 NearCache 条目就会获得刷新的数据。

于 2017-02-21T15:36:23.167 回答