【Redis发布订阅】 -- 2019-08-11 19:37:30

原文: http://106.13.73.98/__/98/

Redis通过PUBLISHSUBSCRIBE等命令实现发布与订阅模式。
在这里插入图片描述
在这里插入图片描述
举例:QQ群的公告,单个发布者,多个收听着。
***

发布/订阅

PUBLISH 频道 消息
将消息发布到指定的频道。
.
SUBSCRIBE 频道1 [频道2] [...]
可同时订阅多个频道。
.
UNSUBSCRIBE 频道1 [频道2]
取消订阅指定的频道,如果不指定频道则会取消订阅所有频道。
.
PSUBSCRIBE [匹配模式1] [匹配模式2]
订阅一个或多个符合给定模式的频道,每个模式以"*"作为匹配符,例如"re*"见匹配所有以"re"开头的频道。
news.*匹配所有以news.开头的频道(news.it 、 news.global.today 等等),诸如此类。
.
PUNSUBSCRIBE [匹配模式1] [匹配模式2]
退订指定的规则的频道,如果未指定参数,则退订所有规则的频道。
.
PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态。
.
注意:
使用发布订阅模式实现的消息队列,当有客户端订阅频道后,只能接收到后续发布到该频道的消息。
之前发送的不会缓存,必须Provider和Consumer同时在线。

下面将以SUBSCRIBEPUBLISH举例:
.
启动两个窗口,进入redis-cli客户端,并订阅频道,如下图:
在这里插入图片描述
在这里插入图片描述
在启动一个新窗口进入redis-cli客户端,开始向频道channel发布消息:
在这里插入图片描述
此时,切回订阅者窗口,即可看到其发布的"PONG"消息。
需要注意的是,如果发送中文,则显示的是二进制。

***

原文: http://106.13.73.98/__/98/

猜你喜欢

转载自www.cnblogs.com/gqy02/p/11336339.html