通过启动服务器,我可以在 redis 中接收密钥更改发布订阅通知:
./redis-server --notify-keyspace-events KEA
Run Code Online (Sandbox Code Playgroud)
然后只需运行以下脚本:
import redis
connection = redis.StrictRedis()
pubsub = connection.pubsub()
pubsub.subscribe("__keyspace@0__:my_key")
Run Code Online (Sandbox Code Playgroud)
在单独的侦听器线程中。收到的消息如下所示:
{'pattern': None, 'type': 'message', 'channel': '__keyspace@0__:my_key', 'data': 'set'}
Run Code Online (Sandbox Code Playgroud)
我希望在消息中看到的是更新后的“键”和相应的“值”。如何通过 pubsub 获取新值?
第二个问题:我如何接收所有“关键”更新。我试过这个:
pubsub.subscribe("__keyspace@0__:*")
Run Code Online (Sandbox Code Playgroud)
但不幸的是它没有返回任何东西。
这是一个很好的入门参考:Redis keyspace event not-firing