redis读书笔记二 PUB/SUB功能

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.*

 

你可能感兴趣的:(java框架)