ホームページ >バックエンド開発 >PHPチュートリアル >php redis pub subメッセージサブスクリプション

php redis pub subメッセージサブスクリプション

WBOY
WBOYオリジナル
2016-06-20 12:30:361155ブラウズ

1. シナリオの紹介

最近のプロジェクトでは、最新のリアルタイム ニュースを通知するためにパブリッシュ/サブスクライブ情報システムを使用する必要があります。検索した結果、redis pub/sub (パブリッシュ/サブスクライブ情報システム) が開発ニーズを満たすことができ、学習コストも使用コストも比較的低いことがわかりました。

2. redis pub/sub とは

情報ビュー

私のブログを読みながら、redis pub/sub の公式の redis 入門を開くことができる ような感じです。英語のドキュメントが難しい場合

、redis 中国語 Web サイトで翻訳の紹介を読むことができます。

Pub/Sub 機能 (パブリッシュ、サブスクライブの意味) は、パブリッシュおよびサブスクリプション機能です

1> イベントベースのシステム 中でも、Pub/Sub は広く使用されている通信モデルであり、大規模システムに必要な疎結合対話モデルを提供する基本的な通信メカニズムとして、サブスクライバー (クライアントなど) がそれを表現します。イベント サブスクリプションの形式で、サブスクライバーが受信することに関心のあるイベントまたはイベントの種類。パブリッシャー (サーバーなど) は、サブスクライバーが関心のあるイベントを関連するサブスクライバーにいつでも通知できます。

2> メッセージ発行者、つまり発行クライアントには、発行中に同じ redis-client リンクを使用して他の操作 (INCR など) を実行できます。

3> メッセージ サブスクライバー、つまりサブスクライブ クライアントには排他的なリンクが必要です。つまり、サブスクライブ期間中、クライアントは他の操作を中断できません。 「パブリッシュ側」からのメッセージをブロックする場合、これは簡単に理解できます。そのため、サブスクライブ側は別のリンクを使用するか、追加のスレッドでそれを使用する必要があります。

3. redis pub sub(パブリッシュ・サブスクライブ)の基本的な使い方

以下、実際の写真付きでredis pub/subの使い方を説明します(私のローカルマシン環境を使用)。

phpredis 拡張機能をインストールしていない場合、または Redis サービスをお持ちでない場合は、インストールの詳細については私の他のブログを参照してください。ここでは詳しく説明しません。

1. Redis サーバーを起動します:

2. サブスクライブクライアントを起動します

新しいターミナルを開き、Redis クライアントを起動して使用します。 Subscribe クライアント (メッセージ サブスクライバ) として、test という名前のチャネルのチャネル情報をサブスクライブします。

3. パブリッシュ クライアントを起動します

Redis クライアントを起動し、Asパブリッシュ クライアント (メッセージ パブリッシャー)、test という名前のチャネルをパブリッシュします。情報は次のとおりです: hello, world

4. サブスクライブされたメッセージ

を表示し、Redis クライアント ウィンドウでステップ 2 に切り替えます。 、リリースされたばかりの「hello, world」メッセージを購読していることがわかります:

コーディングは簡単ではありません。転載する場合は出典を示してください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。