教程 redis tutorial

发布/订阅

Redis 的发布/订阅(Pub/Sub)是一种消息通信机制,客户端可以向一个或多个频道发布消息,订阅该频道的客户端会实时接收到消息。

基本概念

  • 发布者(Publisher):向频道发送消息的客户端。
  • 订阅者(Subscriber):订阅一个或多个频道,接收消息的客户端。
  • 频道(Channel):消息的载体,发布者和订阅者通过频道通信。

主要命令

  • SUBSCRIBE:订阅一个或多个频道
bash
SUBSCRIBE channel1 [channel2 ...]

`

  • UNSUBSCRIBE:取消订阅一个或多个频道
bash
UNSUBSCRIBE channel1 [channel2 ...]
  • PUBLISH:向指定频道发布消息
bash
PUBLISH channel message
  • PSUBSCRIBE:按模式订阅频道(支持通配符)
bash
PSUBSCRIBE pattern
  • PUNSUBSCRIBE:取消模式订阅
bash
PUNSUBSCRIBE pattern

工作流程

  1. 订阅者使用 SUBSCRIBE 命令订阅一个或多个频道。
  2. 发布者通过 PUBLISH 命令向某频道发送消息。
  3. Redis 将消息推送给所有订阅该频道的客户端。
  4. 订阅者实时接收消息,实现即时通信。

特点与限制

  • 发布/订阅消息不会持久化,订阅者不在线时会错过消息。
  • 不支持消息队列功能,适合实时广播。
  • 简单易用,适合事件通知、实时聊天等场景。

应用场景

常用于实时聊天系统、消息广播、事件通知、日志收集等需要低延迟消息传递的场景。