Redis' lists
1025 ワード
Redisリスト基本操作コマンド
コマンド#コマンド#
動作
LPUSH
リストヘッダに値を設定
RPUSH
リストの末尾に値を設定
LPOP
リストヘッダ値を押し出す
RPOP
リストの末尾の値を押し出す
LRANGE
指定した範囲内のリストのすべての要素を取得
LINDEX
位置決めにリストされている単一の要素を取得します.
Redis list下位構造
Redisリストはチェーンテーブルによって実現される.Redisでは、チェーンテーブルキー、パブリッシュ/サブスクリプション、遅いクエリー、モニタなど、チェーンテーブルの応用は非常に広範であるが、これらに限定されない.Redisサーバ自体はまた、チェーンテーブルを使用して複数のクライアントの状態情報を保存し、チェーンテーブルを使用してクライアント出力バッファを構築する.チェーンテーブルノードの構造体は、あるノードの前置ノードと後置ノードを取得する複雑度はいずれもO(1) である.取得ヘッダノードとテールノードの複雑度はいずれもO(1) である.無環 マルチステートで、さまざまなタイプの値を格納しやすい
コマンド#コマンド#
動作
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チェーンテーブルの利点