Redis データ型は、さまざまな基礎となるストレージ構造を使用します。 文字列: シンプル ダイナミック ストリング (SDS) ハッシュ: ハッシュ テーブル、リンク リストまたはジャンプ テーブルを使用してハッシュ衝突を処理する リスト: 二重リンク リスト コレクション: Ha ハッシュ テーブルまたは整数コレクション、ブルーム フィルターを使用 ソートされたコレクション: テーブルまたはディクショナリをスキップ 地理空間インデックス: テーブルまたは R ツリーをスキップ
Redis データ型の基礎となるストレージ構造
Redis は、複数のデータ型をサポートする高性能 NoSQL データベースであり、各型は異なる基礎となるストレージ構造を使用します。
String (string)
- 基礎となるストレージ構造: 単純な動的文字列 (SDS)
- SDS は、事前に割り当てられたメモリを使用してメモリを削減します割り当てと割り当て解除のオーバーヘッド。
- SDS はバイナリ データまたはテキスト データを保存でき、効率的なスプライシングと変更操作をサポートします。
Hash(hash)
- 基礎となるストレージ構造: ハッシュ テーブル
- ハッシュ テーブルは、キー マップへのハッシュ関数を使用します。価値観に。
- 各キーはハッシュ テーブルに格納され、値へのポインタによって表されます。
- ハッシュ バケットごとに、リンク リストまたはスキップ テーブルを使用してハッシュの衝突を保存します。
List (リスト)
- 基礎となるストレージ構造: 二重リンク リスト
- 二重リンク リストは、要素を連続リストにリンクします。 。
- リンクされたリストの各要素には、次の要素と前の要素へのポインターが格納されます。
- リンクされたリストは、効率的な挿入、削除、検索操作をサポートします。
Set
- 基礎となるストレージ構造: ハッシュ テーブルまたは整数セット
- ハッシュ テーブルを使用して要素を保存し、ブルームを使用しますメンバーシップを簡単にチェックするためのフィルター。
- 整数コレクションは整数の格納にのみ適しており、よりコンパクトな格納構造を採用しています。
順序付きセット (zset)
- 基礎となるストレージ構造: ジャンプ リストまたはディクショナリ
- ジャンプ テーブルは要素をマルチに編成します。 -layer リンクされたリストにより、効率的な順序付けされた検索が実現されます。
- ディクショナリは要素をハッシュ テーブルに格納し、スキップ テーブルを使用して順序を維持します。
地理空間インデックス (地理空間)
- 基礎となるストレージ構造: スキップ テーブルまたは R ツリー
- ジャンプ テーブルは次の目的で使用されます。 storage 地理空間点の座標。
- R ツリーは、効率的な検索と範囲クエリに使用される階層構造です。
以上がRedis のデータ ストレージ構造の基礎となるさまざまなデータ型の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。