Redis' lists

1025 ワード

Redisリスト基本操作コマンド
コマンド#コマンド#
動作
LPUSH
リストヘッダに値を設定
RPUSH
リストの末尾に値を設定
LPOP
リストヘッダ値を押し出す
RPOP
リストの末尾の値を押し出す
LRANGE
指定した範囲内のリストのすべての要素を取得
LINDEX
位置決めにリストされている単一の要素を取得します.
Redis list下位構造
Redisリストはチェーンテーブルによって実現される.Redisでは、チェーンテーブルキー、パブリッシュ/サブスクリプション、遅いクエリー、モニタなど、チェーンテーブルの応用は非常に広範であるが、これらに限定されない.Redisサーバ自体はまた、チェーンテーブルを使用して複数のクライアントの状態情報を保存し、チェーンテーブルを使用してクライアント出力バッファを構築する.チェーンテーブルノードの構造体は、typedef struct listNode { struct listNode *prev; struct listNode *next; void *value; } listNode;が明らかであり、listNodeは双方向チェーンテーブルを構築することができる.listによってlistNodeをカプセル化することで、操作をより便利にすることができます:typedef struct list { listNode *head; listNode *tail; unsigned long len; // void *(*dup)(void *ptr); // void *(*free)(void *ptr); // int (*match)(void *ptr, void *key); // } list;Redisチェーンテーブルの利点
  • あるノードの前置ノードと後置ノードを取得する複雑度はいずれもO(1)
  • である.
  • 取得ヘッダノードとテールノードの複雑度はいずれもO(1)
  • である.
  • 無環
  • マルチステートで、さまざまなタイプの値を格納しやすい