根据文件(https://redis.io/docs/manual/keyspace-notifications/)
集群中的事件
如上所述,Redis集群的每个节点都会生成关于其自己的密钥空间子集的事件。然而,与集群中常规的发布/订阅通信不同,事件的通知不会广播到所有节点。换句话说,键空间事件是特定于节点的。这意味着要接收集群的所有Keyspace事件,客户端需要订阅每个节点。
这是否意味着我应该订阅从节点?除了主节点?
例如,如果它是过期事件
从节点只复制主节点,当数据过期时,事件不是在主节点发生的吗?难道我不应该只订阅主节点吗?
为什么我要订阅所有节点?
1条答案
按热度按时间yrdbyhpb1#
这是否意味着我应该订阅从节点?除了主节点?
这意味着您需要订阅集群中的所有主节点。
这是否意味着我应该订阅从节点?除了主节点?
不是的。通常,您不希望订阅从节点。因为从节点可能从主节点发送不同的通知消息。有关示例,请参阅以下内容。
从节点只复制主节点,当数据过期时,事件不是在主节点发生的吗?难道我不应该只订阅主节点吗?
当数据过期时,主节点上的订阅者会收到已过期的通知。当主节点密钥过期时,会向从节点发送del命令,这样从节点就会删除(过期)密钥。由于从节点收到del命令,所以从节点上的订阅者将收到del通知。这是不同的。