Redis は、ANSI C 言語で書かれた K-K メモリ データベースで、優れたパフォーマンス、ネットワーク サポート、永続性を備え、複数の言語で API を提供します。一般的に使用されるタイプは、主に String、List、Hash、Set、ZSet です。
Redis はなぜそれほど速いのでしょうか?
1. 完全にメモリに基づいているため、ほとんどのリクエストは純粋なメモリ操作であり、非常に高速です。データは HashMap と同様にメモリに保存されます。HashMap の利点は、検索と操作の時間計算量が O(1);
2 であることです。データ構造が単純で、データ操作も簡単です。シンプルです。Redis のデータ構造は特別に設計されています;
3. 不必要なコンテキストの切り替えや競合状態を回避するために単一のスレッドを使用します。 CPU に依存し、さまざまなロックを考慮する必要がありません。ロックのロックと解放の問題がなく、デッドロックによるパフォーマンスの消費がありません。
4. マルチチャネル I/O 多重化モデルを使用します。 、ノンブロッキング IO;
5. 使用される基礎となるモデルが異なり、基礎となる実装メソッドとクライアントとの通信用のアプリケーション プロトコルが異なります。Redis は独自の VM メカニズムを直接構築します。移動と要求;
内部実装は epoll を使用し、epoll 自体によって実装された単純なイベント フレームワークを使用します。 epoll での読み取り、書き込み、クローズ、接続はすべてイベントに変換され、epoll の多重化機能を使用して io に時間を無駄にすることはありません。
Redis の技術記事の詳細については、redis の使用方法のチュートリアル 列をご覧ください。
以上がRedis はなぜこんなに速いのかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。