redis pub/sub是轻量级无状态实时广播机制,适用于通知告警、小规模聊天、事件解耦及配置热更新等场景,不保证持久化与投递,但具备低延迟、零配置、易扩展优势。

Redis 发布订阅(Pub/Sub)模式不是通用消息队列,而是轻量级、无状态的实时广播机制。它适合“发完即走、收不到就算”的场景,不保证消息持久化或投递成功,但胜在低延迟、零配置、开箱即用。
实时系统通知与告警
当系统需要秒级触达多个下游服务时,Pub/Sub 是理想选择。比如库存服务检测到商品余量低于阈值,立即向 stock_alert 频道发布消息;订单服务、短信服务、监控看板同时订阅该频道,各自响应——无需协调、互不影响。
- 消息不落盘,不重试,适合非关键性提醒(如“缓存即将刷新”“日志级别已切换”)
- 返回值(PUBLISH 命令返回的整数)可直接用于统计在线监听方数量,辅助健康检查
- 避免为简单广播引入 Kafka 或 RabbitMQ 等重量级组件
轻量级聊天室与在线状态同步
小规模群聊、客服会话、协作白板等场景中,用户连接 WebSocket 后,后端为其订阅对应频道(如 room:1001),所有成员消息统一通过 PUBLISH 推送。每个客户端只管收、不管存,服务端无状态更易水平扩展。
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。
- 支持 PSUBSCRIBE 模式匹配,例如 room:* 可让运维后台监听全部房间消息
- 配合 Redis 的连接空闲超时和客户端心跳,自然实现“用户离线即退订”
- 不适用于需消息回溯或离线补推的严肃 IM 场景
事件驱动型系统解耦
微服务间只需“知道发生了什么”,无需强依赖调用链。例如用户完成支付后,支付服务 PUBLISH event:payment_success,积分服务、风控服务、数据分析服务各自订阅并处理——彼此不感知对方存在,新增模块只需加订阅逻辑。
- 天然支持一对多广播,一个事件触发多个异步动作
- 避免硬编码回调 URL 或维护复杂事件总线
- 适合内部系统间松耦合通信,不适合跨组织或高一致性要求的业务流程
配置热更新与动态开关控制
将运行时配置(如限流阈值、灰度开关、功能开关)以 JSON 形式发布到 config:app 频道,各服务实例订阅后实时更新内存变量,无需重启或轮询。
- 比定时拉取更及时,比数据库监听更轻量
- 配合 PUBSUB NUMSUB 可确认配置已覆盖到所有活跃节点
- 注意:发布前应确保新配置格式兼容,否则可能引发部分实例解析失败










