Redis的列表型別(List)

翔之天空發表於2016-10-30


Redis列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素導列表的頭部(左邊)或者尾部(右邊)

一個列表最多可以包含 232 - 1 個元素 (4294967295, 每個列表超過40億個元素)。

 

本次演示list的基本操作

為key為test_list的list列表新增值,從左邊加 222
127.0.0.1:6379> lpush test_list 222
(integer) 1

從左邊加 111
127.0.0.1:6379> lpush test_list 111
(integer) 2

從右邊加333
127.0.0.1:6379> rpush test_list 333
(integer) 3

 

檢視test_list的列表值
127.0.0.1:6379> lrange test_list 0 -1
1) "111"
2) "222"
3) "333"

 

檢視test_list的列表的長度
127.0.0.1:6379> llen test_list
(integer) 3

 

通過索引檢視test_list的列表的值
127.0.0.1:6379> lindex test_list 0
"111"

127.0.0.1:6379> lindex test_list 1
"222"

127.0.0.1:6379> lindex test_list 2
"333"

 

移除test_list中的值
127.0.0.1:6379> blpop test_list 1
1) "test_list"
2) "111"

127.0.0.1:6379> blpop test_list 2
1) "test_list"
2) "222"

127.0.0.1:6379> blpop test_list 1
1) "test_list"
2) "333"

127.0.0.1:6379> lrange test_list 0 -1
(empty list or set)

 

 

Redis列表命令

BLPOP key1 [key2 ] timeout 移出並獲取列表的第一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。

BRPOP key1 [key2 ] timeout 移出並獲取列表的最後一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。

BRPOPLPUSH source destination timeout 從列表中彈出一個值,將彈出的元素插入到另外一個列表中並返回它;如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。

LINDEX key index 通過索引獲取列表中的元素

LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者後插入元素

LLEN key 獲取列表長度

LPOP key 移出並獲取列表的第一個元素

LPUSH key value1 [value2] 將一個或多個值插入到列表頭部

LPUSHX key value 將一個或多個值插入到已存在的列表頭部

LRANGE key start stop 獲取列表指定範圍內的元素

LREM key count value 移除列表元素

LSET key index value 通過索引設定列表元素的值

LTRIM key start stop 對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間之內的元素都將被刪除。

RPOP key 移除並獲取列表最後一個元素

RPOPLPUSH source destination 移除列表的最後一個元素,並將該元素新增到另一個列表並返回

RPUSH key value1 [value2] 在列表中新增一個或多個值

RPUSHX key value 為已存在的列表新增值

相關文章