群集节点上的TTL过期不会更新我的客户端NearCache

时间:2019-07-16 15:15:17

标签: caching hazelcast hazelcast-imap

我有一个具有多个节点的缓存集群,其中包含一个仅在10分钟内有效的缓存映射配置(TTL = 600s)。另外,我有一些客户端节点为该缓存配置了近缓存。

在调试时,我看到以下行为:

如果我明确退出群集节点上该缓存中的某个条目,则也将逐出相应的Near缓存条目。 (在内部执行DeleteOperation)。

如果条目超时,则将删除群集节点中的条目,但Near高速缓存中的条目仍然有效。因此,客户端会收到一个过时的条目。

当我为近缓存明确设置TTL时,缓存也会被正确清除。

我的期望是TTL过期也会通过群集传播到所有附近的缓存。我是在做错什么还是设计上的行为?

1 个答案:

答案 0 :(得分:0)

与此同时,我们将这种行为作为一种功能接受,并将近缓存视为单独的缓存层。

从这个角度来看,这样设计是有意义的。因此,群集对TTL oder IdleTime有一些规则,但是客户端对项目的主题性可能有不同的要求。