Redis发布订阅
Redis的发布(publish)和订阅(subscribe)是一种消息的通信模式,发布者发布消息,订阅者接受消息。
订阅者可订阅任意数量的情报,发布者只给对应的频道发布消息,如下图所示
Redis发布订阅指令
Redis所有指令详解参考:http://doc.redisfans.com/index.html
- PUBLISH channel message:将消息发布到指定频道
- SUBSCRIBE channel [channel…]:订阅一个或多个频道
- UNSUBSCRIBE channel:退订
- PSUBSCRIBE pattern [pattern…]:定于一个或多个符合pattern的频道
- PUNSUBSCRIBE pattern [pattern…]:退订所有给订pattern的频道
- PUBSUB subcommand 产看订阅与发布的订阅状态
代码实例
订阅者
127.0.0.1:6379> subscribe redisbook
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisbook"
3) (integer) 1
发布者
127.0.0.1:6379> publish redisbook "redis"
(integer) 1
127.0.0.1:6379> publish redisbook "hh"
(integer) 1
127.0.0.1:6379> publish redisbook "ss"
(integer) 1
127.0.0.1:6379>
发布后,订阅者消息变化
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redischat"
3) (integer) 1
1) "message"
2) "redischat"
3) "redis"
1) "message"
2) "redischat"
3) "hh"
1) "message"
2) "redischat"
3) "ss"