ホームページ >バックエンド開発 >PHPチュートリアル >php redis pub subメッセージサブスクリプション
最近のプロジェクトでは、最新のリアルタイム ニュースを通知するためにパブリッシュ/サブスクライブ情報システムを使用する必要があります。検索した結果、redis pub/sub (パブリッシュ/サブスクライブ情報システム) が開発ニーズを満たすことができ、学習コストも使用コストも比較的低いことがわかりました。
私のブログを読みながら、redis pub/sub の公式の redis 入門を開くことができる ような感じです。英語のドキュメントが難しい場合
、redis 中国語 Web サイトで翻訳の紹介を読むことができます。
Pub/Sub 機能 (パブリッシュ、サブスクライブの意味) は、パブリッシュおよびサブスクリプション機能です
1> イベントベースのシステム 中でも、Pub/Sub は広く使用されている通信モデルであり、大規模システムに必要な疎結合対話モデルを提供する基本的な通信メカニズムとして、サブスクライバー (クライアントなど) がそれを表現します。イベント サブスクリプションの形式で、サブスクライバーが受信することに関心のあるイベントまたはイベントの種類。パブリッシャー (サーバーなど) は、サブスクライバーが関心のあるイベントを関連するサブスクライバーにいつでも通知できます。
2> メッセージ発行者、つまり発行クライアントには、発行中に同じ redis-client リンクを使用して他の操作 (INCR など) を実行できます。
3> メッセージ サブスクライバー、つまりサブスクライブ クライアントには排他的なリンクが必要です。つまり、サブスクライブ期間中、クライアントは他の操作を中断できません。 「パブリッシュ側」からのメッセージをブロックする場合、これは簡単に理解できます。そのため、サブスクライブ側は別のリンクを使用するか、追加のスレッドでそれを使用する必要があります。
phpredis 拡張機能をインストールしていない場合、または Redis サービスをお持ちでない場合は、インストールの詳細については私の他のブログを参照してください。ここでは詳しく説明しません。
新しいターミナルを開き、Redis クライアントを起動して使用します。 Subscribe クライアント (メッセージ サブスクライバ) として、test という名前のチャネルのチャネル情報をサブスクライブします。
Redis クライアントを起動し、Asパブリッシュ クライアント (メッセージ パブリッシャー)、test という名前のチャネルをパブリッシュします。情報は次のとおりです: hello, world
を表示し、Redis クライアント ウィンドウでステップ 2 に切り替えます。 、リリースされたばかりの「hello, world」メッセージを購読していることがわかります:
コーディングは簡単ではありません。転載する場合は出典を示してください