发布订阅模式一般用来做广播,发布者发送消息到指定的通道,订阅者订阅指定的通道,
当发布者发送了新的消息,订阅者可以马上收到消息,一个通道可以有多个订阅者,后面订阅的
订阅者不能收到之前的消息,因为发布订阅不做消息持久化以及ack确认消息消费。所以如果
做消息队列是不能满足生产消息不能丢失的情况,已经吞吐率。
解释
发送消息到指定通道
返回的结果表示有少个订阅者
用法 publish channelName msg
示例
127.0.0.1:6379> publish channel1 123
(integer)0
解释
订阅指定通道
用法 subscribe channelName
当终端启用了redis-cli命令 ,订阅了通道
消息进入订阅模式,此时终端只能接收通道消息,退出按Crtl + c;
如果是其他编程类客户端(java,c),进入订阅模式后,
那么此时也只能使用unsubscribe、punsubscribe、subscribe,psubscribe,
psubscribe: 订阅通道可以使用匹配如:psubscribe h*llo
则可以匹配: hello、hlllo、h2ll0…
示例
/**
* 订阅消息
**/
127.0.0.1:6379> subscribe msg
1) "subscribe"
2) "msg"
3) (integer) 1
127.0.0.1:6379> publish msg 123
(integer)1
/**
* 收到订阅通道的消息
**/
127.0.0.1:6379> subscribe msg
1) "message"
2) "msg"
3) "123"