この記事でわかるのは、Redis の用途は何でしょうか? Redis の 8 つの主要なアプリケーション シナリオをまとめたので、困っている方は参考にしていただければ幸いです。
Redis の導入と Redis を使用することで得られる利点については以前に説明しましたが、この章では Redis の応用シナリオを整理します。これも、よく学んだかどうかに関係なく、重要なのは実装できるかどうかです。それは普通に。
Redis のアプリケーション シナリオを分析してみましょう。
キャッシュを適切に使用すると、Web サイトのアクセス速度が向上するだけでなく、データベースへの負荷も大幅に軽減されます。 Redis はキーの有効期限機能と柔軟なキー削除戦略を提供するため、現在では多くのキャッシュ状況で使用されています。
JD.comの月間売上リスト、時間別の製品新着ランキングなど、多くのWebサイトにランキングアプリケーションがあります。 Redis が提供する順序付きコレクション データ構造は、さまざまな複雑なランキング アプリケーションを実装できます。
カウンターとはECサイトでの商品の閲覧数や動画サイトでの動画再生数などです。データのリアルタイム パフォーマンスを確保するには、参照するたびに +1 を与える必要があります。同時実行性が高い場合、毎回データベース操作を要求するのは間違いなく困難であり、プレッシャーになります。 Redis が提供する incr コマンドは、カウンター関数とメモリ操作を実装しており、非常に優れたパフォーマンスを備えており、これらのカウント シナリオに非常に適しています。
クラスターモードでは、アプリケーションの数が多くなく、システムが比較的複雑になる場合、通常はコンテナーに付属するセッションレプリケーション機能を使用するだけで十分です。 Redis などのメモリ データベースは通常、中央のセッション サービスとして構築され、セッションはコンテナーによって管理されなくなり、セッション サービスとメモリ内データベースによって管理されます。
分散テクノロジーによってもたらされる技術的な課題は、グローバル ID、在庫削減、フラッシュ セール、その他の同時実行シナリオなどです。少量のデータはデータベースの悲観的ロックと楽観的ロックを使用して実装できますが、同時実行性が高い状況では、データベースのパフォーマンスに大きな影響を与えるため、データベース ロックを使用してリソースへの同時アクセスを制御することは理想的ではありません。 Redis の setnx 関数を使用して分散ロックを書き込むことができます。設定が 1 を返した場合は、ロックの取得が成功したことを意味します。それ以外の場合、実際のアプリケーションではさらに詳細を考慮する必要があります。
いいね、嫌い、フォローする/フォローされる、共通の友達などはソーシャル ネットワーキング サイトの基本的な機能であり、通常、ソーシャル ネットワーキング サイトへのアクセス数は比較的多く、従来のリレーショナル データベース タイプは次のとおりです。この種の情報の保存には適していません。Redis が提供するデータのタイプ、ハッシュ、コレクション、およびその他のデータ構造は、これらの機能を簡単に実装できます。
Redis リスト構造。LPUSH はリストの先頭にキーワードとしてコンテンツ ID を挿入できます。LTRIM を使用してリストの数を制限できるため、リストには常に N 個の ID が含まれます。 ID を使用して、対応するコンテンツ ページに移動するだけで、最新のリストを直接クエリできます。
メッセージ キューは、ActiveMQ、RabbitMQ、Kafka などの一般的なメッセージ キュー ミドルウェアなど、大規模な Web サイトに必要なミドルウェアであり、主にビジネスの分離、トラフィックのピークカット、低実数の非同期処理に使用されます。時間のビジネス。 Redis は、単純なメッセージ キュー システムを実装できるパブリッシュ/サブスクライブおよびブロック キュー機能を提供します。さらに、これはプロフェッショナルなメッセージ ミドルウェアと比較することはできません。
関連する推奨事項:
phpがキャッシュにredisを使用する簡単な方法、phpはredisキャッシュを使用します
以上がRedis の用途は何ですか? Redis の 8 つの主要なアプリケーション シナリオのまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。