Redis发布订阅(pub/sub)是一种消息通讯模式:发送者(pub)发布消息,订阅者(sub)接受消息。比如微信的公众号,微博,关注系统。
Redis客户端可以订阅任意数量的频道。
三个核心角色:
消息发送者,频道,消息订阅者。
订阅端:
127.0.0.1:6379> SUBSCRIBE xiongbo # 订阅一个频道
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "xiongbo"
3) (integer) 1
1) "message" # 消息
2) "xiongbo" # 那个频道的消息
3) "\xe4\xbd\xa0\xe5\xa5\xbd" # 消息的具体内容,中文的转义了
1) "message"
2) "xiongbo"
3) "what you name?" # 消息的具体内容
发送端:
127.0.0.1:6379> publish xiongbo "你好" # 发送者发布消息到频道
(integer) 1
127.0.0.1:6379> publish xiongbo "what you name?" # 发送者发布消息到频道
(integer) 1
127.0.0.1:6379>
Pub/Sub 从字面上理解就是发布(Publish)与订阅(Subscribe),在Redis中,你可以设定对某一个key值进行消息发布与消息订阅,当一个key值进行了消息发布后,所有订阅它的客户端都会收到相应的消息,这一功能最明显的用法就是用做实时消息系统,比如普通的即时聊天,群聊等功能。
使用场景:
1,实时消息系统
2,实时聊天(频道当作聊天室,将消息回显所有人即可)
3,订阅,关注系统
稍微复杂的场景我们使用 消息中间件MQ。