Redis PUBLISHコマンドの使い方 – Pub/Subでメッセージを公開する方法を解説
このチュートリアルでは、redis-cliを使ってRedisのメッセージブローカーシステムにメッセージを公開(パブリッシュ)する方法について解説します。
PUBLISHコマンドとは
PUBLISHコマンドは、Redisのメッセージブローカーにおいて、指定したチャンネルへメッセージを配信するために使用されます。コマンドを実行すると、そのメッセージを受信したサブスクライバー(購読者)の数が戻り値として返されます。
Pub/Subモデルでは、パブリッシャーとサブスクライバーが直接やり取りするのではなく、チャンネルを介して疎結合な通信を行うため、リアルタイム通知やチャットアプリケーション、イベント駆動型システムなどで広く活用されています。
構文
redis host:port> PUBLISH <channel> <message>
- <channel>:メッセージを送信する対象のチャンネル名を指定します。
- <message>:送信したいメッセージの内容を指定します。
戻り値
(integer) メッセージを受信したサブスクライバーの数
戻り値は整数型で、指定したチャンネルを購読していたクライアントの数を表します。例えば「0」が返された場合は、その時点で該当チャンネルを購読しているクライアントが存在しなかったことを意味し、メッセージはどこにも配信されません。RedisのPub/Subはメッセージを保持しないため、注意が必要です。
実行例
以下は、mychannelというチャンネルに対して「Hello Redis」というメッセージを公開する例です。
redis host:port> PUBLISH mychannel "Hello Redis" (integer) 2
この場合、「(integer) 2」と表示されているため、2つのサブスクライバーがメッセージを受信したことがわかります。別のターミナルでSUBSCRIBE mychannelを実行しておくことで、実際にメッセージが届く様子を確認できます。
参考資料
- PUBLISHコマンド公式ドキュメント(Redis公式サイト)
以上が、redis-cliを使用してRedisのメッセージブローカーでメッセージを公開する方法でした。この記事が役に立ったと思ったら、ぜひコメント欄で感想をお聞かせください。また、他の方にもシェアしていただけると嬉しいです。
-
Redis SUBSCRIBEコマンド徹底解説 – Pub/Subで複数チャネルを同時に購読する方法
本チュートリアルでは、redis-cliを使ってRedisのメッセージブローカー(Pub/Sub)システム上で、複数のチャネルを同時にサブスクライブ(購読)する方法を詳しく解説します。 SUBSCRIBEコマンドとは SUBSCRIBEコマンドは、クライアントをRedisメッセージブローカーシステム内の1つ以上の指定チャネルに登録するためのコマンドです。クライアントがSUBSCRIBEコマンドを実行すると「サブスクライブ状態」に入り、登録済みのチャネルを待ち受けます。他のクライアントが該当チャネルに対してPUBLISHコマンドでメッセージを発行すると、Redisはそのメッセージをすべての購読
-
JedisライブラリでRedisのPub/Subシステムを実装する方法【Javaサンプルコード付き】
このチュートリアルでは、Java向けクライアントライブラリ「Jedis」を使用して、RedisのPub/Sub(パブリッシュ/サブスクライブ)システムを実装する方法を解説します。 Jedisライブラリとは Jedisは、Redisデータストア用のJavaクライアントライブラリです。軽量で非常に扱いやすく、Redis 2.8.x、3.x.x以降のバージョンと完全な互換性があります。シンプルなAPI设计で、Redisの各種コマンドを直感的に操作できるのが特徴です。 RedisのPub/Subシステムとは Redisは、Publish/Subscribe(パブリッシュ/サブスクライブ)型のメッセージ