发布者客户端向指定的频道 (channel) 发布消息, 订阅该频道的每个客户端都可以收到该消息

image.png

3.7.1 命令

1. 发布消息

  • publish

2. 订阅消息

  • subscribe

image.png
图3-17 多个客户端同时订阅频道 channel: sports

注意:

  • 客户端在执行订阅命令之后进入了订阅状态, 只能接收 subscribe、psubscribe、unsubscribe、punsubscribe四个命令
  • 新开启的订阅客户端, 无法收到该频道之前的消息, 因为 Redis 不会对发布的消息进行持久化

3. 取消订阅

  • unsubscribe

4. 按照模式订阅和取消订阅

  • psubscribe
  • punsubscribe

5. 查询订阅

(1) 查看活跃的频道

所谓活跃的频道是指当前频道至少有一个订阅者

  • pubsub channels

(2) 查看频道订阅数
  • pubsub numsub

(3) 查看模式订阅数
  • pubsub numpat

3.7.2 使用场景

类似消息队列, 用于消息解耦

image.png
图3-18 发布订阅用于视频信息变化通知