发布/订阅模式模式包含两种角色:发布者和订阅者。订阅者可以订阅一个或多个通道(channel),而发布者可以向指定的通道(channel)中发送消息,所有此通道的订阅者都会收到消息。拿一个现实生活中的例子来比喻的话,发布者就像一个电台广播员,订阅者就像听众,广播员将消息通过将消息发送到一个频道中,而这个频道的听众就会听到播音员的声音。
由于redis的订阅者无法获取到订阅之前通道中的消息,所以我们先让一个客户端订阅一个通道
subscribe [channel...]
订阅通道的命令:如果要订阅多个通道,就用空格分开
执行上面的命令客户端会进入订阅状态,进入订阅状态后客户端就会首先收到三个回复:
1) "subscribe"。 表示订阅成功的反馈信息。
2) "demoChannel"。 订阅成功的通道名称
3) "(integer) 1"。当前客户端订阅的通道数量
再新开一个客户端,然后输入发布通知的命令:
publish <channel> <message>
返回值(integer) 1 表示收到这条消息的订阅者数量。 然后我们再来看订阅者的客户端
此时我们发现界面上又多出了三行记录
1) "message"。表示接收到消息
2) "demoChannel"。表示收到消息的通道名称
3) "hello"。 表示消息的内容