Redis的发布和订阅
Redis发布订阅(pub/ sub)是一种消息通信模式,发布者发布消息,订阅者接收消息。那么,这种发布订阅的通信模式是怎么工作的呢?其实很简单,发布者指定想要发布的频道,然后把消息发布到该频道上。订阅者通过订阅频道,可以即使地获得对应频道上的消息。
Redis的客户端可以订阅任意数量的频道。
举个例子: 发布者往频道1、频道2、频道3分别发布消息one、two、three。此时订阅者订阅了频道1和频道2,那么订阅者就会接收到频道1和频道2上面的消息one跟two。需要注意的是,订阅者对频道的监听是无时不刻的,只要频道上有消息,且订阅者处于激活状态(客户端开着),那么发布者一往频道上发消息,订阅者就会收到消息。
请看下图:
现在,我们说一下Redis怎么订阅消息: 打开客户端后,输入命令:
subscribe [频道名称]
发布消息的命令是: 打开客户端后,输入命令:
publish [频道名称] [消息]
ok,现在我们来演示一下:
案例一、订阅者订阅一个频道。
首先,打开我们的客户端,并且让他监听频道myChannel 然后,我们再打开一个客户端,让他让myChannel频道发布消息。 可以看到,我们的订阅者成功接收到消息。 案例二、订阅者订阅多个频道 首先,打开客户端,并让该客户端订阅频道 cnel1 和 cnel2 然后我们在刚才的发布者的服务器中往频道cnel1、cnel2、cnel3发布消息。 此时,订阅者接收到的消息如下:
|