ホームページ >データベース >Redis >Redis メッセージキューを理解する方法

Redis メッセージキューを理解する方法

silencement
silencementオリジナル
2019-06-06 14:46:393968ブラウズ

Redis メッセージキューを理解する方法

Queue

は特別な線形テーブルです。特別なのは、テーブルのフロントエンドでのみ削除操作が許可されることです。キューはスタックと同様に、操作が制限された線形テーブルです。挿入操作を実行する端はキューの末尾と呼ばれ、削除操作を実行する端はキューの先頭と呼ばれます。

Message Queue

は、送信中のメッセージを保存するコンテナです。 (redis チュートリアル)

redis のメッセージ キュー

redis では、組み込みのパブリッシュおよびサブスクライブ コマンドを使用して、「メッセージ」を完成させることができます。プッシュ機能とメッセージプル機能はメッセージキューを実装します。ただし、この方法の欠点の 1 つは、消費者が同時にオンラインである必要があり、そうでないと消費が見逃されてしまうことです。

メッセージ キューは通常、メッセージ ストレージ専用の独立したクラスターを使用し、メモリまたはディスクに直接保存できます。たとえば、一般的なものとしては、RabbitMQ、kafka、rocketMQ、ActiveMQ、zeromq などがあります。これらは異なる特性を持ち、さまざまな実装を採用しており、さまざまなシナリオでのメッセージ タスクの分散に適しています。ただし、その本質的な役割は、前述の単一インスタンス環境における Java の「キュー」と同じであり、メッセージの送信中にメッセージを保存するコンテナです。それは「分散」環境に変換されただけです。

redis の List (本質的には二重リンクリスト) や zset (順序付きセット) を「メッセージキュー」のコンテナとして利用することができ、少しの加工で可用性の高い「メッセージキュー」を実現できます。 redis を使用して実装された「軽量」「メッセージ キュー」には、次の 3 つの大きな利点があります:

1. 現在、redis は主要なシステムで広く使用されており、他のサードパーティのフレームワークを導入する必要はありません。再びAPI。

2. また、redis はメモリ ストレージをベースにしており、プロデューサーとコンシューマーのアクセス速度は非常に高速です。

3. Redis クラスターの容量は、インスタンスを追加することで拡張できます。

上記の 3 つの要件を満たしていれば、単純な「メッセージ キュー」を実装できます。

以上がRedis メッセージキューを理解する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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