介绍
Redis是一个内存数据结构存储库,用于缓存,高速数据摄取,处理消息队列,分布式锁定等等。
使用Redis优于其他内存存储的优点是Redis提供持久性和数据结构,如列表,集合,有序集和散列。
在本文中,我想简要介绍一下Redis键空间通知。我将解释键空间通知是什么,并演示如何配置Redis以接收它们。然后我将向您展示如何在python中订阅Redis通知。
启用键空间通知
默认情况下,禁用键空间事件通知。我们可以在redis.conf或redis-cli中启用它们,如下所示:
$ redis-cli config set notify-keyspace-events KEA
OK
该KEA字符串意味着每一个可能的事件被启用。要查看每个字符的含义,请查看文档。
该CLI可以在特殊模式下,它允许您订阅的频道,以接收邮件的工作。
现在让我们检查事件是否正常:
$ redis-cli --csv psubscribe '*'
Reading messages... (press Ctrl-C to quit)
"psubscribe","*",1
psubscribe '*'意味着我们想要使用模式订阅所有事件*。在新的终端输入redis-cli和SET key1tovalue1。
127.0.0.1:6379> set key1 value1
OK
在第一个终端,您将看到:
$ redis-cli --csv psubscribe '*'
Reading messages... (press Ctrl-C to quit)
"psubscribe","*",1
"pmessage","*","__keyspace@0__:key1","set"
"pmessage","*","__keyevent@0__:set","key1
通知正在运行:)
Redis键空间通知
Redis密钥空间通知自2.8.0版开始提供。对于每个更改任何Redis密钥的操作,我们可以配置Redis将消息发布到Pub / Sub。然后我们可以订阅这些通知。值得一提的是,只有在真正修改了密钥时才会生成事件。例如,删除不存在的密钥不会生成事件。