我有一个具有多个节点的缓存集群,其中包含一个仅在10分钟内有效的缓存映射配置(TTL = 600s)。另外,我有一些客户端节点为该缓存配置了近缓存。
在调试时,我看到以下行为:
如果我明确退出群集节点上该缓存中的某个条目,则也将逐出相应的Near缓存条目。 (在内部执行DeleteOperation)。
如果条目超时,则将删除群集节点中的条目,但Near高速缓存中的条目仍然有效。因此,客户端会收到一个过时的条目。
当我为近缓存明确设置TTL时,缓存也会被正确清除。
我的期望是TTL过期也会通过群集传播到所有附近的缓存。我是在做错什么还是设计上的行为?
答案 0 :(得分:0)
与此同时,我们将这种行为作为一种功能接受,并将近缓存视为单独的缓存层。
从这个角度来看,这样设计是有意义的。因此,群集对TTL oder IdleTime有一些规则,但是客户端对项目的主题性可能有不同的要求。