redis-サブスクリプションのパブリッシュ

2171 ワード

コマンドの購読
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
チャネルにメッセージを送信
チャンネル:チャネル名
Message:メッセージタイプ
PUBLISHコマンドが実行されると、すぐに戻り、このメッセージを受信したサブスクライバの数を返します.Redisはメッセージを永続化しないため、サブスクリプション側はサブスクリプション開始時間の間にチャネル上でパブリッシュされたメッセージを受信できない.
 
購読解除:
 UNSUBSCRIBE channel [channel ...] 
UNSUBSCRIBEは、サブスクリプション状態で実行され、1つ以上のチャネルのサブスクリプションをキャンセルできます.
 
 
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