1、订阅channel,下面的例子订阅了foo bar两个通道。
一旦client执行了subscribe命令,就进入pub/sub状态,后续就只能发送 SUBSCRIBE, PSUBSCRIBE, UNSUBSCRIBE, PUNSUBSCRIBE, PING and QUIT命令,不能发送其它的命令。并且subscribe和unsubscribe命令的结果也是通过message的形式通知给client的。
SUBSCRIBE foo bar
2、发布消息
PUBLISH foo Hello
3、client接受到的消息格式
一条消息由几部分组成,共有三种类型消息 ,subscribe、unsubscribe、message。
subscribe: subscribe + 订阅的channel + 当前总共订阅的channel个数
unsubscribe: unsubscribe + 订阅的channel + 当前总共订阅的channel个数
message: message + 对应的channel + 消息内容
4、 一次性订阅匹配某种模式的全部channels
PSUBSCRIBE news.*
这种client 接收到的消息也有三种类型pmessage、psubscribe、punsubscribe。其中psubscribe、punsubscribe的消息格式都与subscribe、unsubscribe的消息格式相同,只有pmessage的格式变成4部分组成。
pmessage: pmessage + 匹配的channel pattern + channel名称 + 消息体
如果client执行下面的命令
SUBSCRIBE foo
PSUBSCRIBE f*
则当向foo channel发布一条消息时,这个client会收到两条消息,一条是message类型,一条是 pmessage类型。
取消订阅
PUNSUBSCRIBE news.*