Redis-pub-sub
Redis-発行購読
Redis Pub/Subは、送信者(パブリッシャーと呼ばれるredisの用語)がメッセージを送信し、受信者(サブスクライバー)がメッセージを受信するメッセージングシステムを実装します。 メッセージが転送されるリンクは channel と呼ばれます。
Redisでは、クライアントは任意の数のチャンネルをサブスクライブできます。
例
次の例は、サブスクライバーの公開の概念の仕組みを説明しています。 次の例では、1人のクライアントが「redisChat」という名前のチャンネルを購読しています。
redis 127.0.0.1:6379> SUBSCRIBE redisChat
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1
現在、2つのクライアントが「redisChat」という名前の同じチャネルでメッセージを公開しており、上記のサブスクライブされたクライアントがメッセージを受信しています。
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"
(integer) 1
redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by tutorials point"
(integer) 1
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by tutorials point"
Redis PubSubコマンド
次の表に、Redis Pub/Subに関連するいくつかの基本的なコマンドを示します。
Sr.No | Command & Description |
---|---|
1 |
PSUBSCRIBE pattern [pattern …] 指定されたパターンに一致するチャンネルにサブスクライブします。 |
2 |
PUBSUB subcommand [argument [argument …]] Pub/Subシステムの状態を通知します。 たとえば、サーバーでアクティブになっているクライアント。 |
3 |
チャンネルにメッセージを投稿します。 |
4 |
PUNSUBSCRIBE [pattern [pattern …]] 指定されたパターンに一致するチャネルに投稿されたメッセージのリッスンを停止します。 |
5 |
SUBSCRIBE channel [channel …] 指定されたチャネルに発行されたメッセージをリッスンします。 |
6 |
UNSUBSCRIBE [channel [channel …]] 指定されたチャネルに投稿されたメッセージの受信を停止します。 |