Redis已publish/subscribe发送消息。 这是通过订阅频道并发布到频道来处理的。订阅者将订阅一个或多个频道。 发布商不需要知道谁是所有订阅者。 相反,发布商会发布到特定频道。 订阅该频道的所有订阅者都会收到该消息。 发布者和订阅者的这种解耦可以允许更大的可伸缩性和更动态的网络拓扑。
示例:用户订阅2个频道说foo&boo
|
|
在控制台的redis-client1:
|
|
它将开始侦听消息。 发布时将获取相应通道的数据。
例如:当想要与boo连接的所有订阅者发送消息时,需要发布到该频道。
|
|
在控制台的redis-client1:
|
|
要在任何时候取消订阅频道,请使用:
|
|
可以根据模式订阅。 当频道名称不确定/想基于模式使用PSUBSCRIBE订阅。
同样退订基于模式使用PUNSUBSCRIBE。
语法:
SUBSCRIBE channel [channel ...]UNSUBSCRIBE [channel [channel ...]]PUBLISH channel messagePSUBSCRIBE pattern [pattern ...]PUNSUBSCRIBE [pattern [pattern ...]]
要处理redis中的pub / sub,需要有一个客户端用于订阅和不同的客户端以进行发布。 两者不能由同一客户端处理。 虽然所有其他命令仍然可以用同一客户端处理。
