Redis学习 - Key SPace Event功能

Redis notify-keyspace-events键空间通知使得客户端可以通过订阅频道或模式,来接收那些以某种方式改动了 Redis 数据集的事件。事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发。


比如操作:del mykey
键空间频道的订阅者将接收到被执行的事件的名字,在这个例子中,就是 del 。
键事件频道的订阅者将接收到被执行事件的键的名字,在这个例子中,就是 mykey 。


格式为:
__keyspace@0__:mykey del
__keyevent@0__:del mykey

0 - 代表数据库0
mykey - 指改动redis的事件,比如expire过期,del删除。


配置在redis config文件中,参数是notify-keyspace-events。

字符 发送的通知
------------------------------------------------------
K  键空间通知,所有通知以 <a href="mailto:__keyspace@__keyspace@<db>__ 为前缀
E  键事件通知,所有通知以 <a href=" mailto:__keyevent@__keyevent@<db>__ 为前缀
g  DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
$  字符串命令的通知
l  列表命令的通知
s  集合命令的通知
h  哈希命令的通知
z  有序集合命令的通知
x  过期事件:每当有过期键被删除时发送
e  驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
A  参数 g$lshzxe 的别名

<a href="mailto:__keyspace@__keyspace@<db>__ 为前缀
E  键事件通知,所有通知以 <a href=" mailto:__keyevent@__keyevent@<db
简单的案例:

<a href="mailto:__keyspace@__keyspace@<db>__ 为前缀
E  键事件通知,所有通知以 <a href=" mailto:__keyevent@__keyevent@<db会话1:
执行下列语句,订阅消息:__keyevent@0__:expired
127.0.0.1:6442> psubscribe __keyevent@0__:expired
Reading messages... (press Ctrl-C to quit)


会话2:
执行下列语句,设置一个值并指定过期时间。

127.0.0.1:6442> setex test 10 value
OK


十秒钟后会话1会打印下列信息:

127.0.0.1:6442> psubscribe __keyevent@0__:expired
Reading messages... (press Ctrl-C to quit)

1) "pmessage"
2) "__keyevent@0__:expired"
3) "__keyevent@0__:expired"
4) "test"


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25105315/viewspace-2123495/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25105315/viewspace-2123495/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值