Redis Pub/Sub入門:パブリッシュ/サブスクライブ型メッセージングシステムの使い方 – Redisチュートリアル
このチュートリアルでは、Redisデータストアをパブリッシュ/サブスクライブ(Publish/Subscribe)型のメッセージングシステムとして活用する方法について解説します。
Redis Pub/Subシステムとは
Redisは、パブリッシュ/サブスクライブ(Pub/Sub)というメッセージングパラダイムを実装しています。このモデルでは、メッセージの送信者(パブリッシャー)は、特定の受信者(サブスクライバー)に直接メッセージを送るようには設計されていません。代わりに、パブリッシャーは特定の「チャネル」に対してメッセージを送信(パブリッシュ)します。その際、どの受信者が、あるいはそもそも受信者が存在するかどうかを意識する必要はありません。
一方、メッセージを受け取りたい受信者(サブスクライバー)は、1つ以上のチャネルを購読(サブスクライブ)することで関心を登録します。すると、そのチャネルにパブリッシュされたメッセージだけを受信できます。このときも、誰がメッセージを送ったのかを知る必要はありません。

Redisの用語では、チャネルへメッセージを発行する送信者をパブリッシャー(Publisher)、1つ以上のチャネルを購読してメッセージを受け取る受信者をサブスクライバー(Subscriber)と呼びます。メッセージの中身は任意で、単純なテキストでも、タスクに関する情報でも構いません。サブスクライバーはいくつでもチャネルを購読でき、パブリッシャーも任意のチャネルにメッセージを発行できます。
このようにパブリッシャーとサブスクライバーが疎結合(デカップリング)されていることで、システムのスケーラビリティと柔軟性が大きく向上します。
なお、RedisのPub/Sub機能は、Redisのキーバリューデータベースとはまったく関係がありません。データベース番号を含め、どのレベルでも干渉しません。たとえば、パブリッシャーがDBインデックス10上でメッセージを発行した場合でも、DBインデックス1上のサブスクライバーはそのメッセージを受信できます。
Redis Pub/Subの主要コマンド一覧
Redis Pub/Subに関連する重要なコマンドは以下のとおりです。
| No. | コマンド | 説明 |
|---|---|---|
| 1 | PSUBSCRIBE | 指定したパターンに一致する1つ以上のチャネルを購読する |
| 2 | PUBSUB | Pub/Subシステムの現在の状態を確認する |
| 3 | PUBLISH | 指定したチャネルにメッセージを発行する |
| 4 | PUNSUBSCRIBE | 指定したパターンに一致する1つ以上のチャネルの購読を解除する |
| 5 | SUBSCRIBE | 1つ以上のチャネルを購読する |
| 6 | UNSUBSCRIBE | 1つ以上のチャネルの購読を解除する |
実行例
ここでは、redis-cliの3つの異なるインスタンスを使って、Redis Pub/Subシステムの動作を確認します。1つ目のクライアントはC1とC2の2つのチャネルを購読し、残りの2つのクライアントはそれぞれC1とC2のチャネルにメッセージを発行します。
1. 1つ目のクライアントがC1とC2のチャネルを購読

2. 2つ目のクライアントがC1チャネルに「Hello」を発行

3. 3つ目のクライアントがC2チャネルに「World」を発行

4. 1つ目のクライアントがC1とC2から配信されたメッセージを表示

このように、購読しているクライアントは、各チャネルに発行されたメッセージをリアルタイムで受け取れていることがわかります。
参考文献
- Pub/Subコマンド公式ドキュメント
この記事が役に立った場合は、ぜひコメント欄でご感想をお聞かせください。また、他の方へのシェアも歓迎します。
次の記事 → Jedisライブラリを使ったRedis Pub/Subの実装例
-
0x000006beエラーの原因と解決方法をわかりやすく解説
0x000006beは、主にプリンターのインストール時に発生するエラーコードで、特にWindows Vista環境においてLAN(ローカルエリアネットワーク)上にプリンターを「追加」しようとした際に表示されやすい問題です。プリンターの追加手順が正常に完了しなかった場合に起こり、その背景にはさまざまな要因が考えられます。 0x000006beエラーの主な原因 ドライバーのバージョンが古い:プリンターとパソコンが正常に通信できていない可能性があります。 システムファイルの破損:パソコン内のファイルが壊れていることで、プリンターを正しく認識できない状態になっています。 接続の不具合:ケーブルやネ
-
テキスト読み上げソフト「Festival」の使い方 – 音声合成システム入門チュートリアル
テキスト読み上げ(TTS)は地味な機能に思えるかもしれませんが、実はとても有用なツールです。視覚に障害のある方がコンピュータを快適に利用できるようにするだけでなく、さまざまな場面で活躍します。たとえば、車の中で(運転中はやめましょうね)文章を読みたいけれど、車内で読むと酔ってしまうという経験はありませんか?あるいは、長い説明文を音声に置き換えて、チュートリアルにナレーション要素を加えたいと思うこともあるでしょう。Festival はまさにそのためのソフトウェアです。Festival は音声合成システム(Speech Synthesis System)で、テキストを音声に変換できます。スクリプト