redis読書ノート二PUB/SUB機能

1149 ワード

1、channelを購読し、次の例でfoo barの2つのチャネルを購読します.
Clientがsubscribeコマンドを実行するとpub/sub状態になり、その後はSUBSCRIBE、PSUBSSCRIBE、UNSUBSCRIBE、PUNSUBSSCRIBE、PING and QUITコマンドしか送信できず、他のコマンドは送信できません.またsubscribeとunsubscribeコマンドの結果もmessage形式でclientに通知される.
SUBSCRIBE foo bar

 
2、発表メッセージ
PUBLISH foo Hello

3、clientが受け取ったメッセージフォーマット
1つのメッセージはいくつかの部分から構成され、subscribe、unsubscribe、messageの3種類のメッセージがあります.
subscribe:subscribe+サブスクリプションのchannel+現在合計サブスクリプションのchannel個数
unsubscribe:unsubscribe+サブスクリプションのchannel+現在合計サブスクリプションのchannel個数
Message:message+対応するchannel+メッセージ内容
 
4、あるパターンにマッチしたすべてのチャンネルを一括購読する
PSUBSCRIBE news.*

このクライアントが受信したメッセージにも、pmessage、psubscribe、punsubscribeの3種類がある.ここでpsubscribe,punsubscribeのメッセージフォーマットはいずれもsubscribe,unsubscribeのメッセージフォーマットと同じであり,pmessageのフォーマットのみが4つの部分からなる.
pmessage:pmessage+一致するchannel pattern+channel名+メッセージボディ
クライアントが次のコマンドを実行する場合
SUBSCRIBE foo
PSUBSCRIBE f*

foo channelにメッセージを発行すると、このclientはメッセージタイプとpmessageタイプの2つのメッセージを受信します.
購読解除
PUNSUBSCRIBE news.*