Redis列表


Redis列表只是字串列表,按插入順序排序。可以在列表的頭部或尾部新增Redis列表中的元素。

列表的最大長度為2^32 - 1個元素(即4294967295,每個列表可儲存超過40億個元素)。

範例

redis 127.0.0.1:6379> LPUSH mylist "redis" 
(integer) 1 
redis 127.0.0.1:6379> LPUSH mylist "mongodb"
(integer) 2 
redis 127.0.0.1:6379> LPUSH mylist "mysql"
(integer) 3 
redis 127.0.0.1:6379> LRANGE mylist 0 10  
1) "mysql" 
2) "mongodb" 
3) "redis"

在上面的範例中,通過命令LPUSH將三個值插入到名稱為「mylist」的Redis列表中。

Redis列表命令

下表列出了與列表相關的一些基本命令。

序號 命令 說明
1 BLPOP key1 [key2 ] timeout 刪除並獲取列表中的第一個元素,或阻塞,直到有一個元素可用
2 BRPOP key1 [key2 ] timeout 刪除並獲取列表中的最後一個元素,或阻塞,直到有一個元素可用
3 BRPOPLPUSH source destination timeout 從列表中彈出值,將其推播到另一個列表並返回它; 或阻塞,直到一個可用
4 LINDEX key index 通過其索引從列表獲取元素
5 LINSERT key BEFORE/AFTER pivot value 在列表中的另一個元素之前或之後插入元素
6 LLEN key 獲取列表的長度
7 LPOP key 刪除並獲取列表中的第一個元素
8 LPUSH key value1 [value2] 將一個或多個值新增到列表
9 LPUSHX key value 僅當列表存在時,才向列表新增值
10 LRANGE key start stop 從列表中獲取一系列元素
11 LREM key count value 從列表中刪除元素
12 LSET key index value 通過索引在列表中設定元素的值
13 LTRIM key start stop 修剪列表的指定範圍
14 RPOP key 刪除並獲取列表中的最後一個元素
15 RPOPLPUSH source destination 刪除列表中的最後一個元素,將其附加到另一個列表並返回
16 RPUSH key value1 [value2] 將一個或多個值附加到列表
17 RPUSHX key value 僅當列表存在時才將值附加到列表