首页 > 解决方案 > Redis 集群键/空间事件通知

问题描述

官方 Redis 文档说 - “Redis 集群的每个节点都会生成关于其自己的键空间子集的事件,如上所述。但是,与集群中的常规 Pub/Sub 通信不同,事件的通知不会广播到所有节点。换句话说,键空间事件是特定于节点的。这意味着要接收集群的所有键空间事件,客户端需要订阅每个节点。

我使用了 redis-py-cluster 包并编写了以下代码:


def test_pub_sub():
    pubsub = rs.pubsub()
    #pubsub.subscribe('music')
    pubsub.psubscribe('__key*__:*')
    for message in pubsub.listen():
        if message.get("type") == "message":
            print(message.get("data")) 

if __name__ == '__main__':
    rs = RedisCluster(startup_nodes=startup_nodes, decode_responses=True)
    test_pub_sub()

这是订阅集群中随机节点的通知。我想听所有节点。我如何使用 redis-py-cluster 包来实现这一点?

标签: pythonredis-clusterredis-py

解决方案


推荐阅读