Redis 发布订阅
概述
Redis发布订阅(pub/sub)是种消息通信模式:发送者(pub)发送消息,订阅者(sub)订阅消息。
Redis客户端可以订阅任意数量的频道。
下图展示了频道channel以及订阅它的三个客户端——client2、client5和client1之间的关系
当有新的消息publish到channel这个频道时,会同步的发送给订阅这个频道的三个客户端。
实例
- 打开两个redis客户端,并同时订阅redis频道
[root@localhost src]# ./redis-cli
127.0.0.1:6379> subscribe redis
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redis"
3) (integer) 1
如图:
- 重新开一个redis客户端,并发布一个消息到频道“redis”
[root@localhost src]# clear
[root@localhost src]# ./redis-cli
127.0.0.1:6379> publish redis "It's Redis pub and sub's demo!"
此时,频道与客户端的状态如图:
- 在“redis”这个频道的客户端,按回车发布消息。发布后频道与客户端的状态如下图:
到这里,Redis发布订阅完成!