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

TTL-Expiration on a cluster node does not update my clients NearCache

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

调试时我看到以下行为:

如果我在集群节点上显式地逐出该缓存中的一个条目,相应的近缓存条目也会被逐出。 (内部执行 DeleteOperation)。

如果条目超时,则删除集群节点中的条目,但近缓存中的条目仍然有效。所以客户端收到一个过时的条目。

当我为近缓存显式设置 TTL 时,缓存也被正确逐出。

我的期望是 TTL-Expiration 也通过集群传播到所有附近的缓存。是我做错了什么还是设计使然?

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

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