lpush 從頭部壓入數據redis
127.0.0.1:6379> lpush listname value1
(integer) 1//返回list的當前長度
127.0.0.1:6379> lpush listname value2
(integer) 2
127.0.0.1:6379> lpush listname value2
(integer) 3//成功添加劇復的元素,說明list是可重複的
lpushx 當給定Listname的list存在的時候,從上面插入數據,不然不作任何操做
127.0.0.1:6379> lpushx listname0 value
(integer) 0
rpushx 從給定Listname的list存在的時候,從下面插入數據,不然不作任何操做
127.0.0.1:6379> rpushx listname0 value
(integer) 0
lrange 從頭部到尾部(棧)獲取指定索引範圍的數據
lrange listname 0 -1
127.0.0.1:6379> lrange listname 0 0
1) "value2"
127.0.0.1:6379> lrange listname 0 1
1) "value2"
2) "value2"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
rpush 從尾部壓入元素
127.0.0.1:6379> rpush listname value0
(integer) 4
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value0"
linsert 中間插入
linsert listname before value1 value2在value1前面插入value2
127.0.0.1:6379> linsert listname before value0 value--
(integer) 5
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) 「value--「 //成功插入
5) "value0"
127.0.0.1:6379> linsert listname before value2 value--
(integer) 6(成功插入)
127.0.0.1:6379> lrange listname 0 -1
1) 「value--「 //插入到從上到下查找到的第一個匹配值的上面
2) "value2"
3) "value2"
4) "value1"
5) "value--"
6) "value0"
127.0.0.1:6379> linsert listname before value-- value+
(integer) 7
127.0.0.1:6379> lrange listname 0 -1
1) "value+」//插入到從上到下查找到的第一個匹配值的上面
2) "value--"
3) "value2"
4) "value2"
5) "value1"
6) "value--"
7) "value0"
127.0.0.1:6379> linsert listname before value7 value8
(integer) -1//找不到value7 插入不成功
127.0.0.1:6379> lrange listname 0 -1
1) "value+"
2) "valuenew"
3) "value2"
4) "value2"
5) "value1"
6) "value--"
7) "value0"
lset 更新指定腳標的元素的value
127.0.0.1:6379> lset listname 1 valuenew
OK
127.0.0.1:6379> lrange listname 1 1
1) "valuenew"
127.0.0.1:6379> lset listname 7 value7
(error) ERR index out of range//腳標越界的時候,會提示error
lrem 刪除指定個數的值爲指定value的元素
lrem listname x value
//先添加一個value2
127.0.0.1:6379> linsert listname before valuenew value2
(integer) 8
127.0.0.1:6379> lrange listname 0 -1
1) "value+"
2) "value2"
3) "valuenew"
4) "value2"
5) "value2"
6) "value1"
7) "value--"
8) "value0"
//移除1個value2
127.0.0.1:6379> lrem listname 1 value2
(integer) 1
//最上面的value2被移除了
127.0.0.1:6379> lrange listname 0 -1
1) "value+"
2) "valuenew"
3) "value2"
4) "value2"
5) "value1"
6) "value--"
7) "value0"
lindex listname x
127.0.0.1:6379> lindex listname 0
"value+"
127.0.0.1:6379> lindex listname 7
(nil)//超出索引返回nill
127.0.0.1:6379> lindex listname -1
「value0」//腳標爲負數的時候,從list底部開始找
127.0.0.1:6379> lindex listname -7
"value+"
127.0.0.1:6379> lindex listname -8
(nil)
127.0.0.1:6379> lpop listname
"value+"
127.0.0.1:6379> lpop listname
"valuenew"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
5) "value0"
rpop
從尾部彈出一個元素,返回元素值並刪除
127.0.0.1:6379> rpop listname
"value0"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
ltrim刪除除指定範圍外的腳標元素
ltrim listname x1 x2 只保留從x1~x2之間的元素
127.0.0.1:6379> ltrim listname 0 -1
OK
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
127.0.0.1:6379> ltrim listname 1 2
OK //成功刪除腳標不在1-2以內的元素,這裏刪除了腳標爲 0 3 的兩個元素
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value1"
127.0.0.1:6379> ltrim listname 1 0
OK //刪除1-0以外的元素,刪除全部元素
127.0.0.1:6379> keys * //list被清除
(empty list or set)
//
批量插入四條數據,注意版本問題,低版本的redis不支持批量插入
127.0.0.1:6379> lpush listname value-- value1 value2 value2
(integer) 4
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
4) "value--"
127.0.0.1:6379> lpush listname1 value value+ value-
(integer) 3
127.0.0.1:6379> lrange listname1 0 -1
1) "value-"
2) "value+"
3) "value"
rpoplpush從前一個list尾部彈出元素插入到第二個list頭部
rpoplpush listname1 listname2
27.0.0.1:6379> RPOPLPUSH listname listname1
"value--"
127.0.0.1:6379> lrange listname 0 -1
1) "value2"
2) "value2"
3) "value1"
127.0.0.1:6379> lrange listname1 0 -1
1) "value--"
2) "value-"
3) "value+"
4) "value"
llen返回list的長度
127.0.0.1:6379> llen listname
(integer) 3
127.0.0.1:6379> llen listname1
(integer) 4