浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

redisを触ってみる Pub/Sub編

前々回からご紹介しているredisですが、KVS型のDBとしての機能のほかに、もう一つredisが備えている機能があります。

メッセージ配信の仕組みである”Pub/Sub”をredisクライアント間でできる機能です。

Pub/Subとは、メッセージを受信したいユーザーが特定のチャネルを購読(Subscribe)し、配信側はそのチャンネルに対してメッセージを一斉配信(Publish)することで購読側はメッセージを受け取るという仕組みです。

Pub/Subをするために、必ずしもredisを使用する必要はありませんが、自分で実装するとそこそこ大変なのでredisのような既存の仕組みで利用できるのはとてもありがたいです。

今回はredisのPub/Sub機能を実際に試してみたいと思います。

まず、redis-cliクライアントを2つ立ち上げておきます。

片側のredis-cliで、下記のようなコマンドを実行します。

subscribe チャネル名

subscribeしたクライアントは、待機状態になります。

なお、subscribeしている間は他のredisコマンドは実行できなくなるので注意してください。

この状態で、今度はもう片側のredis-cliで下記のようにコマンドを実行します。

publish チャネル名 メッセージ

すると、先程subscribeした側のredis-cliにpublishされたメッセージがリアルタイムで受信されます。

前々回にご紹介した、redisをリモートから接続できるようにしておけば、ネットワーク経由でも送ることができます。

複数クライアントもばっちりです。

redis単体でここまでできるので、あとはプログラムとredisをつないでWebsocketあたりを使えば、簡単にリアルタイムチャットなども実装できそうですね。

・前の記事
redisを触ってみる 基本操作編

  • この記事いいね! (0)