Redis は完全にオープンソースで無料で、BSD プロトコルに準拠しており、高性能のキー/値データベースです。現在最も普及しているNoSqlデータベースの1つで、データ構造サーバーとも呼ばれます。
#では、なぜ Redis を使用するのでしょうか?
#理由は簡単です。急いでください。
この問題は、同時実行性が高く負荷が高い Web サイトで考慮する必要があります。Redis データベース内のすべてのデータはメモリに保存されます。メモリの読み取りおよび書き込み速度はハードディスクの速度よりもはるかに速いため、Redis はハードディスク ストレージをベースとする他のデータベースと比較して、パフォーマンスの点で非常に明らかな利点があります。 プロジェクトでの Redis の使用は、主にパフォーマンスと同時実行性の 2 つの観点から検討されます。もちろん、Redis には分散ロックなど他の機能もありますが、分散ロックなど他の機能だけであれば他のミドルウェアがあり、Redis を使用する必要はありません。したがって、この質問には主にパフォーマンスと同時実行性という 2 つの観点から答えられます。パフォーマンス:
実行に特に時間がかかり、結果が頻繁に変化しない SQL に遭遇した場合、実行結果をキャッシュがあるため、後続のリクエストはキャッシュから読み取られ、リクエストに迅速に応答できます。同時実行数:
同時実行数が多い場合、すべてのリクエストがデータベースに直接アクセスし、データベースで接続例外が発生します。現時点では、リクエストがデータベースに直接アクセスするのではなく、最初に Redis にアクセスできるように、Redis を使用してバッファリング操作を実行する必要があります。redis の利点:
1. メモリ内で実行され、高速です. 公式では、11 ワットの同時読み取り操作と 8 ワットの同時書き込み操作をサポートすると主張しています。 、これは非常に印象的であると言えます。 2. データはメモリ内にありますが、永続化サポートが提供されます。つまり、サービスの継続的な提供に影響を与えることなく、メモリ内のデータをハード ディスクに非同期で書き込むことができます。 #3、豊富なデータ構造 (文字列 (文字列)、リスト (リンク リスト)、セット (セット)、zset (ソート セット - 順序付きセット)) およびハッシュ (ハッシュ タイプ、md5 で暗号化された文字列) をサポートRedis で何ができるのですか?
キャッシュ、これが現在 Redis の最もよく知られた使用シナリオであることは間違いなく、サーバーのパフォーマンスを向上させるのに非常に効果的です。
1. ランキングリストは、従来のリレーショナルデータベースを使用すると非常に面倒ですが、Redis の SortSet データ構造を使用すると非常に便利です; 2. 計算機/速度リミッター 、 Redis のアトミックな自動インクリメント操作を使用すると、ユーザーの「いいね!」の数やユーザーの訪問数などをカウントできます。そのような操作に MySQL が使用される場合、頻繁な読み取りと書き込みによりかなりの負荷がかかります。速度制限がより一般的です。使用シナリオは、特定の API へのユーザーのアクセス頻度を制限することです。一般的に使用されるシナリオには、ユーザーの狂ったクリックによる不必要な圧力を防ぐためのパニック買いが含まれます。3. コレクション内のいくつかのコマンドを使用した友人関係、交差、結合、差分セットなどのリクエストにより、共通の友人や共通の趣味などの機能を容易にすることができます; 4. シンプルなメッセージ キューは、Redis 独自のパブリッシュ/サブスクライブ モードに加えて、使用することもできます。到着通知、電子メール送信、その他の要件などのキュー メカニズムの実装には、高い信頼性は必要ありませんが、多くの DB 負荷がかかります。リストを使用して非同期分離を完了できます。#5. セッションPHP を例に挙げると、デフォルトのセッションはサーバーのファイルに保存されます。クラスター サービスの場合、同じユーザーが異なるマシン上に存在する可能性があるため、ユーザーは頻繁にログインすることになります。Redis を使用してセッションを保存した後、ユーザーに関係なく、そのマシン上で対応するセッション情報を取得できます。
以上がRedis を使用する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。