redis发布订阅
简介
redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息
redis客户端可以订阅任意数量的频道
例如:微信、微博。关注系统!
消息发布者==发布消息==》====队列====《===获取===多个消息订阅者
测试
#使用subscribe订阅一个mozun频道(可空格隔开订阅多个)
127.0.0.1:6379> subscribe mozun
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "mozun"
3) (integer) 1
#使用publish往mozun频道发送消息
127.0.0.1:6379> publish mozun 你好啊,小朋友!
(integer) 1
127.0.0.1:6379> publish mozun hello lwp #如果内容存在空格需要使用单引号将内容涵盖
(error) ERR wrong number of arguments for 'publish' command
127.0.0.1:6379> publish mozun 'hello lwp'
(integer) 1
#使用subscribe订阅一个mozun和lwp频道
127.0.0.1:6379> subscribe mozun lwp
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "mozun"
3) (integer) 1
1) "subscribe"
2) "lwp"
3) (integer) 2 #以下监听到的消息,为魔尊频道
1) "message"
2) "mozun"
3) "\xc4\xe3\xba\xc3\xb0\xa1\xa3\xac\xd0\xa1\xc5\xf3\xd3\xd1\xa3\xa1"
1) "message"
2) "mozun"
3) "hello lwp"
#使用publish往lwp频道发送消息
127.0.0.1:6379> publish lwp woaiheqina
(integer) 1
127.0.0.1:6379>
#订阅者监听到的消息
1) "subscribe"
2) "mozun" #订阅魔尊频道
3) (integer) 1
1) "subscribe"
2) "lwp" #订阅lwp频道
1) "message" #消息
2) "lwp" #消息的来自频道
3) "woaiheqina" #消息的内容
使用场景
1、实时消息系统
2、实时聊天(频道当做聊天室,将信息回显给订阅者即可)
3、订阅、关注系统等
注:适用于简单的使用场景,负责的需要使用专业的消息中间件