Skip to content

Latest commit

 

History

History
42 lines (28 loc) · 1.49 KB

6.发布订阅模式.md

File metadata and controls

42 lines (28 loc) · 1.49 KB

发布 (pub) /订阅 (sub) 模式

发布/订阅的使用

发布/订阅模式模式包含两种角色:发布者和订阅者。订阅者可以订阅一个或多个通道(channel),而发布者可以向指定的通道(channel)中发送消息,所有此通道的订阅者都会收到消息。拿一个现实生活中的例子来比喻的话,发布者就像一个电台广播员,订阅者就像听众,广播员将消息通过将消息发送到一个频道中,而这个频道的听众就会听到播音员的声音。

订阅通道

由于redis的订阅者无法获取到订阅之前通道中的消息,所以我们先让一个客户端订阅一个通道

subscribe [channel...] 

订阅通道的命令:如果要订阅多个通道,就用空格分开

执行上面的命令客户端会进入订阅状态,进入订阅状态后客户端就会首先收到三个回复:

1) "subscribe"。 表示订阅成功的反馈信息。
2) "demoChannel"。 订阅成功的通道名称
3) "(integer) 1"。当前客户端订阅的通道数量

发布消息

再新开一个客户端,然后输入发布通知的命令:

publish <channel> <message>

返回值(integer) 1 表示收到这条消息的订阅者数量。 然后我们再来看订阅者的客户端

此时我们发现界面上又多出了三行记录

1) "message"。表示接收到消息
2) "demoChannel"。表示收到消息的通道名称
3) "hello"。 表示消息的内容