赞
踩
Redis中默认的notify-keyspace-events的配置值为空。
可以的配置值如下:
notify-keyspace-events 的参数可以是以下字符的任意组合,它指定了服务器该发送哪些类型的通知:
字符 | 发送的通知 |
---|---|
K | 键空间通知,所有通知以__keyspace@<db>__ 为前缀 |
E | 键事件通知,所有通知以 __keyevent@<db>__ 为前缀 |
g | DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知 |
$ | 字符串命令的通知 |
l | 列表命令的通知 |
s | 集合命令的通知 |
h | 哈希命令的通知 |
z | 有序集合命令的通知 |
x | 过期事件,每当有过期键被删除时发送 |
e | 驱逐事件,每当有键因为maxmemory政策而被删除时发送 |
A | 参数 g$lshzxe 的别名 |
输入的参数中至少要有一个K或者E,否则其余参数不会有任何的通知生效。
如果想订阅所有的通知,直接设置为AKE。
举例,我们想在键过期被删除时得到通知,可以进行如下的配置:
config set notify-keyspace-events Ex
我们先定义一个过期的key:
setex name jxl 10
我们在Redis命令行中订阅这个频道的通知:
psubscribe __keyevent@0__:expired
当name值过期,被删除时,我们就可以看到如下的通知了:
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "__keyevent@0__:expired"
3) (integer) 1
1) "pmessage"
2) "__keyevent@0__:expired"
3) "__keyevent@0__:expired"
4) "name"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。