Redis的消息发布和订阅

Author:SimpleWu
GitHub-redis

什么是消息发布和订阅?

Redis 发布订阅(pub/sub)是一种进程间的消息通信模式:

  • 发送者(pub)发送消息
  • 订阅者(sub)接收消息

Redis 客户端可以订阅任意数量的频道。

但是一般不会使用redis来做消息发布和订阅,由消息中间件来完成。

当有新消息通过 PUBLISH 命令发送给频道 XXX 时, 这个消息就会被发送给订阅它的所有客户端

指令 描述
PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道。
PUBSUB subcommand [argument [argument ...]] 查看订阅与发布系统状态。
PUBLISH channel message 将信息发送到指定的频道
PUNSUBSCRIBE [pattern [pattern ...]] 退订所有给定模式的频道。
SUBSCRIBE channel [channel ...] 订阅给定的一个或多个频道的信息。
UNSUBSCRIBE [channel [channel ...]] 指退订给定的频道。

订阅频道:

SUBSCRIBE p1 p2 p3

使用SUBSCRIBE同时订阅了3个频道;

发布消息:

PUBLISH hello

这个时候所有订阅了p1这个频道的客户端都会收到一个hello