Redis 提供了消息的发布与订阅功能,发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
Redis 客户端可以订阅任意数量的频道,支持多个频道订阅。
一、简单的一次发布与订阅
1.创建订阅频道名为 xinghua:
127.0.0.1:6379>SUBSCRIBExinghuaReadingmessages... (pressCtrl-Ctoquit) 1) "subscribe"2) "xinghua"3) (integer) 12.另起一个redis-cli:127.0.0.1:6379>PUBLISHxinghua123(integer) 1
可以看到在第一个redis-cli客户端显示出了信息:
127.0.0.1:6379>SUBSCRIBExinghuaReadingmessages... (pressCtrl-Ctoquit) 1) "subscribe"2) "xinghua"3) (integer) 11) "message"2) "xinghua"3) "123"
再来一次:
D:\redis>redis-cli127.0.0.1:6379>PUBLISHxinghua123(integer) 1127.0.0.1:6379>PUBLISHxinghua123456(integer) 1127.0.0.1:6379>
显示了:
二、试试同时订阅监听两个发布
127.0.0.1:6379>psubscribexinghuaxinghua1Readingmessages... (pressCtrl-Ctoquit) 1) "psubscribe"2) "xinghua"3) (integer) 11) "psubscribe"2) "xinghua1"3) (integer) 2127.0.0.1:6379>PUBLISHxinghua123456(integer) 1D:\redis>redis-cli127.0.0.1:6379>publishxinghua1444(integer) 1
ok,显示:
三、退订频道
127.0.0.1:6379>punsubscribexinghua1) "punsubscribe"2) "xinghua"3) (integer) 0127.0.0.1:6379>127.0.0.1:6379>unsubscribexinghua1) "unsubscribe"2) "xinghua"3) (integer) 0
总结:
psubscribe 订阅一或多个频道,然后publish发布到这个频道消息,就可以实时监听到该消息。
END