I.概要
Redisのでは、挿入順のリストタイプは、文字列のリストを並べ替えられています。そして、一般的なリストの中のデータ構造、我々はできるとテール(右)(左)、その頭の中に新しい要素を追加します。挿入されたときにキーが存在しない場合は、Redisのは、そのキーの新しいリストを作成します。リスト内のすべての要素が削除された場合、逆に、そしてキーは、データベースから削除されます。要素の数が最大に含めることができるリストは4294967295です。
私たちは、リストの両端で要素の挿入や削除になっている場合、ビューの効率要素の挿入や削除の観点から、これはリストが数百万レコードを格納されているにもかかわらず、非常に効率的な操作になります、この操作はまた、一定の時間にすることができ以内に完了。しかし、要素の挿入や削除操作は、リストの真ん中に適用されている場合、それは非常に非効率的になることに留意すべきです。
二、リスト操作コマンド
例:lpushキーヴァル
使用法:左(先頭)への値のリストを挿入
戻り値:実行lpushコマンド、リストの長さ。
例:rpushキーヴァル
使用法:リストの右側に挿入値(尾)
戻り値:実行rpushコマンド、リストの長さ。
例:lpushhxキーヴァル
使用法:リスト(ヘッド)の左に値を挿入し、値があれば存在しないとき、アクションなし
戻り値:実行コマンド、リストの長さ。
例:rpushhxキーヴァル
使用法:値があれば、リストの右側(テール)に値を挿入します存在しないとき、アクションなし
戻り値:実行コマンド、リストの長さ。
例:LPOPキー
道順:頭値を削除するには、その値が返されます
戻り値:最初の値のリストがあるが返され、ノーリターンのnilはありません
例:RPOPキー
使用法:値の末尾を削除し、値を返します。
戻り値:最後の値のリストがあるが返され、ノーリターンのnilはありません
例:RPOPキー
使用法:値の末尾を削除し、値を返します。
戻り値:最後の値のリストがあるが返され、ノーリターンのnilはありません
例:llenキー
使用法:リストの長さを返します。リストのキーが存在しない場合、キーは空のリストとして解釈され、0を返します。キーはリストのタイプではない場合は、エラーが返されます。
戻り値:リストの長さ
例:lremキー数ヴァル
使用方法:テールのvalのリストカウント値の要素を削除します
戻り値:カウントが0より大きい場合:最初から検索要素は値valと削除をカウントします
カウントが0未満である:検索要素のカウント値の端からスタートし、削除ヴァル
カウントが0に等しいです:ヴァルに、リスト内のすべての要素を削除します
最後に番号が取り除か返します
例:LRANGEキー開始端
使用方法:範囲の開始端にリストから要素を削除し、オフセット範囲は、STARTとENDで指定されました。前記0等リストの最初の要素、第二の要素を示すリストを示し、そして。あなたはまた、表現リストの最後の要素に負の添字を使用することができます-1、-2、リストの最後から二番目の要素を表す、というように。
戻り値:要素の範囲を含むリストを返します。
例:LTRIMキー開始端
使用方法:トリム(トリム)のリストについては、必ず指定のない範囲内の要素の範囲内で指定された保持要素が削除されるのリストを作成し、です。
リスト1の最初の要素のインデックス0ように、リストの2番目の要素を示し、。また、リストの要素に負のインデックスを使用することができる最も-1、-2、リストの最後から二番目の要素を表す、などを示します。
戻り値:操作の成功リターンOK
例:linsertのbefort |ピボットvalの後
使用法:挿入要素の前または後の要素のリストのため。指定された要素がリストに存在しない場合は、任意の操作を実行しません。
リストが存在しない場合は、空のリスト、アクションなしとみなされています。
キーはリストのタイプではない場合は、エラーが返されます。
戻り値:成功した操作のリストの長さを返します。リストは、valの不在を返します0存在しない-1
例:L / Rpoppush SOURCEKEY destkey
使用法:リストの最後の要素を削除するために使用し、別のリストとリターンに要素を追加します。
戻り値:ポップアップ要素値
127.0.0.1:6379> lpush message update clean full ctrl_switch close 一次添加多个val到list中
(integer) 5
127.0.0.1:6379> lrange message 0 -1 查询一个范围内的值,返回了一个列表
1) "close"
2) "ctrl_switch"
3) "full"
4) "clean"
5) "update"
127.0.0.1:6379> linsert message after full change 向指定的val之后插入一个值
(integer) 6
127.0.0.1:6379> lrange message 0 -1 在full的after之后存在了change这个值
1) "close"
2) "ctrl_switch"
3) "full"
4) "change"
5) "clean"
6) "update"
127.0.0.1:6379>