redis键空间通知消息详解和例子

接收键空间通知有2种情况:

1、一种是接收指定键值所执行的命令,在配置文件中体现是:   notify-keyspace-events K[命令集]               ;K代表是监听键值,监听其中命令集包括了:

g : 常规命令 del expire rename等等

$:  字符串命令

l : 列表命令

s:集合命令

h:hash命令

z:有序集合命令

x :超时命令

例子1):

在配置文件(redis.conf)中设置:

#notify-keyspace-events ""
notify-keyspace-events K$
表明我们需要监听字符串所执行的命令;

客户端1监听:       

127.0.0.1:6379> SUBSCRIBE __keyspace@0__:message
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "__keyspace@0__:message"
3) (integer) 1
1) "message"
2) "__keyspace@0__:message"
3) "set"
1) "message"
2) "__keyspace@0__:message"
3) "append"
1) "message"
2) "__keyspace@0__:message"
3) "append"                 


客户端2执行:

127.0.0.1:6379> set message 123
OK
127.0.0.1:6379> get message
"123"
127.0.0.1:6379> append message "-3444555"
(integer) 11
127.0.0.1:6379> append message "-3444555"
(integer) 19


可以看出例子1:我们执行 修改的命令有:set   append 都在客户端1进行返回。


2、监控指定的命令,配置文件中体现:notify-keyspace-events E[命令集]      ;E代表监听命令,后面的命令集合上面的一样

例子1)、

配置文件:

#notify-keyspace-events ""
notify-keyspace-events Elg

表明我们监控list列表基础命令


客户端1监听:

127.0.0.1:6379> SUBSCRIBE __keyevent@0__:del
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "__keyevent@0__:del"
3) (integer) 1
1) "message"
2) "__keyevent@0__:del"
3) "list2"
1) "message"
2) "__keyevent@0__:del"
3) "mylist1"
1) "message"
2) "__keyevent@0__:del"

3) "list1"


客户端2执行:

127.0.0.1:6379> keys *
1) "list2"
2) "mylist1"
127.0.0.1:6379> del list2 mylist1
(integer) 2
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> LPUSH list1 abc
(integer) 1
127.0.0.1:6379> LPUSH list1 abc def
(integer) 3
127.0.0.1:6379> LRANGE list1 0 -1
1) "def"
2) "abc"
3) "abc"
127.0.0.1:6379> del list1
(integer) 1
127.0.0.1:6379> 










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

美了美了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值