Redis(五):List集合データ型の詳細
Redisリストは単純な文字列リストで、挿入順に並べ替えられています.リストのヘッダー(左)または末尾(右)に要素を追加できます.
1つのリストには、最大232~1個の要素(4294967295、各リストは40億個を超える要素)を含めることができます.
例:
Redisではリストをスタック、キュー、ブロックキューにすることができます!
1、List常用コマンド
1.1、LPUSH、LRANGE、RPUSH
1.2、LPOP、RPOP
1.3、Lindex
1.4、Llen
1.5、LREM
1.6、trim
1.7.コンビネーションコマンドrpoplpush
1.8、lset
1.9、linset
2、まとめ Listはチェーンテーブルとして想像でき、befor node after、left、rightを挿入することができる. keyが存在しない場合は、新しいチェーンテーブルを作成し、存在する場合は、新しいコンテンツを追加します. すべての値が除去された場合は、存在しないことを意味します. は両側に挿入または変更され、効率が最も高く、中間元素の効率が低い.
1つのリストには、最大232~1個の要素(4294967295、各リストは40億個を超える要素)を含めることができます.
例:
redis 127.0.0.1:6379> LPUSH runoobkey redis
(integer) 1
redis 127.0.0.1:6379> LPUSH runoobkey mongodb
(integer) 2
redis 127.0.0.1:6379> LPUSH runoobkey mysql
(integer) 3
redis 127.0.0.1:6379> LRANGE runoobkey 0 10
1) "mysql"
2) "mongodb"
3) "redis"
Redisではリストをスタック、キュー、ブロックキューにすることができます!
1、List常用コマンド
1.1、LPUSH、LRANGE、RPUSH
127.0.0.1:6379> LPUSH list v1 // ( )
(integer) 1
127.0.0.1:6379> LPUSH list v2
(integer) 2
127.0.0.1:6379> LPUSH list v3
(integer) 3
127.0.0.1:6379> RPUSH list v4r // ( )
(integer) 4
127.0.0.1:6379> LRANGE list 0 -1 // list
1) "v3"
2) "v2"
3) "v1"
4) "v4r"// :v3 v2 v1 v4r
127.0.0.1:6379>
1.2、LPOP、RPOP
127.0.0.1:6379> LPOP list // list ( )
"v3"
127.0.0.1:6379> rPOP list // list ( )
"v4r"
127.0.0.1:6379> LRANGE list 0 -1
1) "v2"
2) "v1"
127.0.0.1:6379>
1.3、Lindex
127.0.0.1:6379> LINDEX list 0 // list
"v2"
127.0.0.1:6379> LINDEX list 1
"v1"
1.4、Llen
127.0.0.1:6379> LLEN list // list
(integer) 2
1.5、LREM
127.0.0.1:6379> LRANGE list 0 -1
1) "v4"
2) "v4"
3) "v3"
4) "v2"
5) "v1"
127.0.0.1:6379> LREM list 2 v4 // list (2) (v4)
(integer) 2
127.0.0.1:6379> LRANGE list 0 -1
1) "v3"
2) "v2"
3) "v1"
127.0.0.1:6379>
1.6、trim
127.0.0.1:6379> LRANGE list 0 -1
1) "v4"
2) "v3"
3) "v2"
4) "v1"
127.0.0.1:6379> LTRIM list 1 2 // list
OK
127.0.0.1:6379> LRANGE list 0 -1
1) "v3"
2) "v2"
127.0.0.1:6379>
1.7.コンビネーションコマンドrpoplpush
127.0.0.1:6379> LRANGE list 0 -1
1) "v4"
2) "v3"
3) "v2"
4) "v1"
127.0.0.1:6379> rpoplpush list list2 //
"v1"
127.0.0.1:6379> LRANGE list 0 -1
1) "v4"
2) "v3"
3) "v2"
127.0.0.1:6379> LRANGE list2 0 -1
1) "v1"
127.0.0.1:6379>
1.8、lset
127.0.0.1:6379> EXISTS list2 //
(integer) 1
127.0.0.1:6379> LRANGE list2 0 -1
1) "v1"
127.0.0.1:6379> LSET list2 0 vv // ,
OK
127.0.0.1:6379> LRANGE list2 0 -1
1) "vv"
127.0.0.1:6379>
1.9、linset
127.0.0.1:6379> LRANGE list 0 -1
1) "v4"
2) "v3"
3) "v2"
127.0.0.1:6379> LINSERT list before v2 vv //
(integer) 4
127.0.0.1:6379> LINSERT list after v2 vv2 //
(integer) 5
127.0.0.1:6379> LRANGE list 0 -1
1) "v4"
2) "v3"
3) "vv"
4) "v2"
5) "vv2"
127.0.0.1:6379>
2、まとめ