Redisパブリッシュおよびサブスクライブモード
Redisパブリッシュおよびサブスクライブ(pub / sub)は、メッセージ通信モードです。送信者(pub)がメッセージを送信し、サブスクライバー(sub)がメッセージを受信します。
Redisクライアントは、任意の数のチャネルにサブスクライブできます。
次の図は、チャネルchannel1と、このチャネルにサブスクライブする3つのクライアント(client2、client5、client1)の関係を示しています。
PUBLISHコマンドを使用して新しいメッセージがチャネルchannel1に送信されると、メッセージは、それにサブスクライブしている3つのクライアントに送信されます。
この例では、redisMessageという名前のサブスクリプションチャネルを作成しました。
127.0.0.1:6379> subscribe redisMessage
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisMessage"
3) (integer) 1
ここで、最初にredisクライアントを再起動してから、同じチャネルredisMessageで2つのメッセージを公開すると、サブスクライバーはメッセージを受信できます。
127.0.0.1:6379> publish redisMessage "demo1 test"
(integer) 1
127.0.0.1:6379> publish redisMessage "demo2 test"
(integer) 1
127.0.0.1:6379> publish redisMessage "demo3 test"
(integer) 1
サブスクライバーのクライアントは次のメッセージを表示します
127.0.0.1:6379> subscribe redisMessage
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisMessage"
3) (integer) 1
1) "message"
) "redisMessage"
3) "demo1 test"
1) "message"
2) "redisMessage"
3) "demo2 test"
1) "message"
2) "redisMessage"
3) "demo3 test"