一、命令介绍
·频道订阅与退订
·SUBSCRIBE / UNSUBSCRIBE:按频道名称精确订阅或退订一个或多个频道。
·PSUBSCRIBE / PUNSUBSCRIBE:通过通配符模式(如 news.*)批量订阅或退订匹配的频道。
·消息发布
PUBLISH:将消息发布到指定频道,所有已订阅该频道的客户端将即时收到推送。
·频道状态查询
PUBSUB CHANNELS / PUBSUB NUMSUB / PUBSUB NUMPAT:查询当前活跃频道列表、指定频道的订阅者数量、活跃模式订阅数量,用于监控和运维。
注意:说明:
注意:Pub/Sub 消息不持久化,离线客户端将丢失未接收的消息。如需消息持久化与消费确认机制,请使用 Stream 族 命令。
更多信息请参见 Valkey 产品文档:Pub/Sub 命令组。
二、命令支持概览
·基础命令:psubscribe、pubsub、publish、punsubscribe、subscribe、unsubscribe 在 Redis 2.8 标准架构及4.0、5.0、6.2、7.0版本、Valkey 8.0、9.0的标准架构与集群架构中均完全支持。
·跨 Slot 限制:Pub/Sub 族命令不存在跨 Slot 访问场景。
三、命令兼容性矩阵
Pub/Sub 族命令在各版本与架构下的支持情况如下表所示(✓ 表示支持,✗ 表示不支持,— 表示该命令不存在跨 Slot 访问场景)。
| 命令 | Valkey 9.0标准架构 | Valkey 9.0集群架构 | Redis 7.0/Valkey 8.0标准架构 | Redis 7.0/Valkey 8.0集群架构 | Redis 6.2标准架构 | Redis 6.2集群架构 | Redis 5.0标准架构 | Redis 5.0集群架构 | Redis 4.0标准架构 | Redis 4.0集群架构 | Redis 2.8标准架构 | 集群架构跨 Slot 支持 |
| psubscribe | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| pubsub | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| publish | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| punsubscribe | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| subscribe | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| unsubscribe | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |