redis-发布订阅

订阅命令

SUBSCRIBE channel[channel …]

channel:订阅的渠道,可以使用SUBSCRIBE 订阅多个渠道

SUBSCRIBE 命令执行后,表明当前线程时入订阅状态,只能接收服务端发来的订阅信息,或执行订阅相关的命令,如取消订阅。

 

 SUBSCRIBE 命令执行后,接收到的信息类型:

1.SUBSCRIBE channel  subscribeChannelNum 

             SUBSCRIBE 命令执行后立即返回的信息:

                      Subscribe  :表明订阅信息类型,

                      channel  :表明订阅的渠道

                      subscribeChannelNum :当前客户端订阅的渠道数据(即 SUBSCRIBE 命令中channel的数量

2.MESSAGE channel  content 

                     当服务端渠道上有消息发布时,当前订阅线程获取信息

                  MESSAGE :表明为收到消息类型

                 channel  :收到消息的渠道

                  content :收到消息的内容

3. UNSUBSCRIBE channel  subscribeChannelNum 

                   当前订阅线程取消了对某个渠道的订阅

                  UNSUBSCRIBE :表明取消渠道订阅类型

                  channel  :取消的订阅渠道

                   subscribeChannelNum :当前订阅线程还在订阅几个渠道,当订阅渠道数为0时,退出订阅状态。

 

发布命令

PUBLISH channel message

 向某个渠道发送消息

        channel :渠道名称

          message:消息类型

 PUBLISH 命令执行后,立即返回,返回值表示接收到这条消息的订阅者数量。 Redis不会持久化消息,因此订阅端的不能接收到订阅开始时间之间该渠道上发布过的消息。

 

取消订阅:

 UNSUBSCRIBE channel [channel ...] 

  在订阅状态下执行 UNSUBSCRIBE ,可以取消一个或多个渠道的订阅

 

 

localhost:6379> subscribe commandChannel reloadChannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "commandChannel"
3) (integer) 1
1) "subscribe"
2) "reloadChannel"
3) (integer) 2
1) "message"
2) "commandChannel"
3) "ftpget"
1) "message"
2) "commandChannel"
3) "mkdir"
1) "message"
2) "reloadChannel"
3) "appid:345"

 

 

        在另一个redis客户端执行:

localhost:6379> publish commandChannel ftpget
(integer) 1
localhost:6379> publish commandChannel mkdir
(integer) 1
localhost:6379> publish reloadChannel appid:345
(integer) 1

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值