検索
ホームページデータベースRedisRedisのパブリッシュ&サブスクライブ機能の導入と実装

Redis は、文字列、ハッシュ、リスト、セット、順序付きセットなどのさまざまなデータ構造をサポートする、人気のあるオープンソースのメモリ内データ構造ストレージ システムです。これらの基本的なデータ構造に加えて、Redis は多くの高度な機能も提供します。その 1 つがパブリッシュおよびサブスクライブ機能です。この記事では、Redis のパブリッシュおよびサブスクライブ機能について、その基本原理と Redis での実装方法を含めて紹介します。

1. Redis パブリッシュとサブスクライブの基本原則

パブリッシュとサブスクライブは、パブリッシャーがサブスクライバーに直接メッセージを送信するのではなく、チャネル (チャネル) にメッセージを送信するメッセージング モデルです。 。サブスクライバーは特定のチャネルをリッスンして、パブリッシャーから送信されたメッセージを取得します。 Redis では、このモデルはパブリッシュ/サブスクライブと呼ばれます。

Redis では、パブリッシャーは特定のチャネルにメッセージを送信し、これらのチャネルはサブスクライバーによってサブスクライブされます。パブリッシャーがチャネルにメッセージを送信すると、チャネルのすべてのサブスクライバーがメッセージを受信します。このモデルは、チャット ルームやリアルタイム データ分析など、リアルタイム要件が高いアプリケーションに役立ちます。

2. Redis パブリッシュおよびサブスクライブの実装

Redis は、パブリッシュおよびサブスクライブ モデルをサポートするいくつかのコマンドを提供します。これらのコマンドの使用法と具体的な実装を見てみましょう。

  1. PUBLISH コマンド

PUBLISH コマンドは、指定されたチャネルにメッセージを送信するために使用されます。その構文は次のとおりです。

PUBLISH channel message

ここで、channel はチャネルの名前、message は送信されるメッセージです。たとえば、「news」という名前のチャネルにメッセージを送信するには、次のコマンドを使用できます:

PUBLISH news "Hello, world!"

  1. SUBSCRIBE コマンド

SUBSCRIBE コマンドは、1 つ以上のチャネルに登録するために使用されます。構文は次のとおりです。

SUBSCRIBE channel [channel …]

たとえば、「news」と「weather」という 2 つのチャンネルに登録するには、次のコマンドを使用できます。

SUBSCRIBE news Weather

新しいメッセージが購読チャネルにパブリッシュされると、Redis はそのメッセージを購読者に送信し、購読者はメッセージを処理できます。

  1. UNSUBSCRIBE コマンド

UNSUBSCRIBE コマンドは、1 つ以上のチャネルからの購読を解除するために使用されます。構文は次のとおりです。

UNSUBSCRIBE [channel [channel …]]

たとえば、「news」という名前のチャンネルの登録を解除するには、次のコマンドを使用できます。

UNSUBSCRIBE ニュース

サブスクライバーがチャンネルのサブスクリプションを解除すると、Redis はそのチャンネルのメッセージをそのチャンネルに送信しなくなります。

  1. PSUBSCRIBE コマンド

PSUBSCRIBE コマンドは、パターンを介して 1 つ以上のチャネルにサブスクライブするために使用されます。その構文は次のとおりです。

PSUBSCRIBE pattern [pattern …]

このうち、pattern はワイルドカード表現です。たとえば、「news.*」は、名前が「」で始まるすべてのチャンネルに一致します。ニュース。"。

  1. PUNSUBSCRIBE コマンド

PUNSUBSCRIBE コマンドは、パターンを通じてサブスクライブされた 1 つ以上のチャネルをキャンセルするために使用されます。構文は次のとおりです。

PUNSUBSCRIBE [パターン [パターン ...]]

たとえば、「news.」および「weather.」という名前のパターンのチャンネル登録を解除するには、 、次のコマンドを使用できます:

PUNSUBSCRIBE news.weather.

購読者がパターンを使用してチャンネルに登録すると、Redis は条件を満たすすべてのチャンネル名を照合します。ワイルドカード式 を使用して、これらのチャネルからサブスクライバにメッセージを送信します。

3. Redis パブリッシュおよびサブスクライブの例

次は、Redis パブリッシュおよびサブスクライブ モデルの使用方法を示す簡単な例です。

  1. 2 つのコンソール ウィンドウを開いて、それぞれ Redis サーバーに接続します。

redis-cli

  1. 最初のウィンドウで使用します。 SUBSCRIBE コマンド「news」という名前のチャンネルに登録します:

SUBSCRIBE news

  1. 2 番目のウィンドウで PUBLISH コマンドを使用して、「news」という名前のチャンネルにメッセージを送信します。 メッセージ:

ニュース「Hello, world!」を公開

  1. 最初のウィンドウで、メッセージが受信されたことがわかります:

1 ) "message"
2) "news"
3) "Hello, world!"

この例では、「news」Subscriber という名前のチャネルへのサブスクリプションを作成し、PUBLISH を使用します。別のウィンドウでコマンドを実行して、チャネルにメッセージを送信します。サブスクライバがメッセージを受信したら、それをコンソールに出力します。

結論

この記事では、Redis のパブリッシュおよびサブスクライブ機能について、その基本原理と Redis での実装方法を含めて紹介します。他のメッセージ キューと比較して、Redis のパブリッシュおよびサブスクライブ機能は非常にシンプルで、使用および実装が簡単で、高スループットと低遅延という利点があります。 Redis のパブリッシュ/サブスクライブ機能を使用すると、チャット ルーム、リアルタイム データ処理などの強力なリアルタイム アプリケーションを簡単に構築できます。

以上がRedisのパブリッシュ&サブスクライブ機能の導入と実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Redis:データベースまたはサーバー?役割を分かりやすいRedis:データベースまたはサーバー?役割を分かりやすいApr 28, 2025 am 12:06 AM

redisisbothadatabaseandaserver.1)asadatabase、itusesin memorystorage forfastaccess、理想的なforreal-timeapplicationsandcaching.2)asaserver、itupportspub/submessagingandaging andluascriptingforreal-communicationandserver-sideoperation。

Redis:NOSQLアプローチの利点Redis:NOSQLアプローチの利点Apr 27, 2025 am 12:09 AM

Redisは、高性能と柔軟性を提供するNOSQLデータベースです。 1)大規模データと高い並行性の処理に適したキー価値ペアを介してデータを保存します。 2)メモリストレージとシングルスレッドモデルは、速い読み取りと書き込みと原子性を確保します。 3)RDBおよびAOFメカニズムを使用してデータを持続し、高可用性とスケールアウトをサポートします。

Redis:そのアーキテクチャと目的を理解するRedis:そのアーキテクチャと目的を理解するApr 26, 2025 am 12:11 AM

Redisは、主にデータベース、キャッシュ、メッセージブローカーとして使用されるメモリデータ構造ストレージシステムです。そのコア機能には、シングルスレッドモデル、I/O多重化、持続メカニズム、複製、クラスタリング機能が含まれます。 Redisは、キャッシュ、セッションストレージ、メッセージキューのための実際のアプリケーションで一般的に使用されます。適切なデータ構造を選択し、パイプラインとトランザクションを使用し、監視とチューニングを使用することにより、パフォーマンスを大幅に改善できます。

Redis vs. SQLデータベース:重要な違​​いRedis vs. SQLデータベース:重要な違​​いApr 25, 2025 am 12:02 AM

RedisデータベースとSQLデータベースの主な違いは、Redisが高性能および柔軟性要件に適したインメモリデータベースであることです。 SQLデータベースは、複雑なクエリとデータの一貫性要件に適したリレーショナルデータベースです。具体的には、1)Redisは高速データアクセスとキャッシュサービスを提供し、キャッシュおよびリアルタイムのデータ処理に適した複数のデータ型をサポートします。 2)SQLデータベースは、テーブル構造を介してデータを管理し、複雑なクエリとトランザクション処理をサポートし、データの一貫性を必要とするeコマースや金融システムなどのシナリオに適しています。

Redis:データストアとサービスとしてどのように機能するかRedis:データストアとサービスとしてどのように機能するかApr 24, 2025 am 12:08 AM

redisactsassassadatastoreandaservice.1)asadatastore、itusesin memorystorage for fastorations、supporting variousdatastructureSlike-key-valuepairsandsortedsets.2)asaservice、iteasruascruascriptingrupting criptingforceptingpurplecomplecomplecprexoperations

Redis vs.その他のデータベース:比較分析Redis vs.その他のデータベース:比較分析Apr 23, 2025 am 12:16 AM

他のデータベースと比較して、Redisには次の独自の利点があります。1)非常に速い速度、および読み取り操作は通常、マイクロ秒レベルにあります。 2)豊富なデータ構造と操作をサポートします。 3)キャッシュ、カウンター、公開サブスクリプションなどの柔軟な使用シナリオ。 Redisまたはその他のデータベースを選択する場合、特定のニーズとシナリオに依存します。 Redisは、高性能および低遅延のアプリケーションでうまく機能します。

Redisの役割:データストレージと管理機能の調査Redisの役割:データストレージと管理機能の調査Apr 22, 2025 am 12:10 AM

Redisは、データストレージと管理において重要な役割を果たしており、複数のデータ構造と持続性メカニズムを通じて最新のアプリケーションの中核となっています。 1)Redisは、文字列、リスト、コレクション、注文されたコレクション、ハッシュテーブルなどのデータ構造をサポートし、キャッシュや複雑なビジネスロジックに適しています。 2)RDBとAOFの2つの持続方法を通じて、Redisは信頼できるストレージとデータの迅速な回復を保証します。

Redis:NOSQLの概念の理解Redis:NOSQLの概念の理解Apr 21, 2025 am 12:04 AM

Redisは、大規模なデータの効率的なストレージとアクセスに適したNOSQLデータベースです。 1.Redisは、複数のデータ構造をサポートするオープンソースメモリデータ構造ストレージシステムです。 2.キャッシュ、セッション管理などに適した、非常に速い読み取り速度と書き込み速度を提供します。 4.使用例には、基本的なキー値ペア操作と高度なコレクション重複排除関数が含まれます。 5.一般的なエラーには、接続の問題、データ型の不一致、メモリオーバーフローが含まれるため、デバッグに注意する必要があります。 6.パフォーマンス最適化の提案には、適切なデータ構造の選択とメモリ排除戦略の設定が含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません