Redis发布订阅
Redis Pub / Sub实现了消息传递系统,在该消息传递系统中,发件人(在redis术语中称为发布者)发送消息,而接收者(订户)接收消息。消息传输所通过的链接称为channel.
在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 newbiego point" (integer) 1 1) "message" 2) "redisChat" 3) "Redis is a great caching technique" 1) "message" 2) "redisChat" 3) "Learn redis by newbiego point"
Redis PubSub命令
下表列出了一些与Redis Pub / Sub相关的基本命令。
序号 | 命令与说明 |
---|---|
1 | psubscribe pattern [pattern ...] 订阅与给定模式匹配的频道。 |
2 | pubsub subcommand [argument [argument ...]] 告知发布/订阅系统的状态。例如,哪些客户端在服务器上处于活动状态。 |
3 | publish channel message 将消息发布到频道。 |
4 | punsubscribe [pattern [pattern ...]] 停止侦听发布到与给定模式匹配的频道的消息。 |
5 | subscribe channel [channel ...] 侦听发布到给定频道的消息。 |
6 | unsubscribe [channel [channel ...]] 停止收听发布到给定频道的消息。 |