python - 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 包来实现这一点?
解决方案
推荐阅读
- javascript - 如何在 Vue 组件内创建圆形进度
- java - 如何在 java 到嵌套的 scala 数据类型之间转换
- azure - Azure 推送通知以更新应用程序状态
- php - 我可以在不使用单选按钮的情况下应用第二个查询组件进行过滤吗?
- r - 如何在 R 中使用 IBrokers 获取 SPX 的最新期权价格
- java - 如何在方法中使用来自其他类的整数?
- c++ - 将单色 FreeType 位图转换为 8 位像素数组
- android - OnSwipeRefreshLayout 不会停止刷新
- uwp - 从哪里可以下载 VSTS Build 生成的构建符号?
- json - 在 JSON 布尔类型中允许传递 int,而不是抛出错误