Redis——发布订阅



Redis Pub/Sub 实现在其中发送者(redis 术语中称为发布者)发送消息,而接收者(订阅者)接收消息的消息系统。传输消息的链接称为“通道”。

在 Redis 中,客户端可以订阅任意数量的通道。

示例

以下示例说明发布订阅概念的工作原理。在以下示例中,一个客户端订阅了一个名为“redisChat”的通道。

redis 127.0.0.1:6379> SUBSCRIBE redisChat  
Reading messages... (press Ctrl-C to quit) 
1) "subscribe" 
2) "redisChat" 
3) (integer) 1 

现在,两个客户端在名为“redisChat”的同一通道上发布消息,而上述已订阅的客户端正在接收消息。

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"  
(integer) 1  
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by tutorials point"  
(integer) 1   
1) "message" 
2) "redisChat" 
3) "Redis is a great caching technique" 
1) "message" 
2) "redisChat" 
3) "Learn redis by tutorials point" 

Redis PubSub 命令

下表列出了一些与 Redis Pub/Sub 相关的基本命令。

序号 命令和说明
1 PSUBSCRIBE 模式 [模式 ...]

订阅与给定模式匹配的通道。

2 PUBSUB 子命令 [参数 [参数 ...]]

通知 Pub/Sub 系统的状态。例如,哪些客户端在服务器上处于活动状态。

3 PUBLISH 通道 消息

将消息发布到通道。

4 PUNSUBSCRIBE [模式 [模式 ...]]

停止侦听发布到与给定模式匹配的通道的消息。

5 SUBSCRIBE 通道 [频道 ...]

侦听发布到给定通道的消息。

6 UNSUBSCRIBE [通道 [通道 ...]]

停止侦听发布到给定通道的消息。

广告