Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素導(dǎo)列表的頭部(左邊)或者尾部(右邊)

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

實(shí)例

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

1) "mysql"
2) "mongodb"
3) "redis"

在以上實(shí)例中我們使用了 LPUSH 將三個(gè)值插入了名為 w3ckey 的列表當(dāng)中。

Redis 列表命令

下表列出了列表相關(guān)的基本命令:

序號(hào)命令及描述
1BLPOP key1 [key2 ] timeout
移出并獲取列表的第一個(gè)元素, 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。
2BRPOP key1 [key2 ] timeout
移出并獲取列表的最后一個(gè)元素, 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。
3BRPOPLPUSH source destination timeout
從列表中彈出一個(gè)值,將彈出的元素插入到另外一個(gè)列表中并返回它; 如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止。
4LINDEX key index
通過(guò)索引獲取列表中的元素
5LINSERT key BEFORE|AFTER pivot value
在列表的元素前或者后插入元素
6LLEN key
獲取列表長(zhǎng)度
7LPOP key
移出并獲取列表的第一個(gè)元素
8LPUSH key value1 [value2]
將一個(gè)或多個(gè)值插入到列表頭部
9LPUSHX key value
將一個(gè)或多個(gè)值插入到已存在的列表頭部
10LRANGE key start stop
獲取列表指定范圍內(nèi)的元素
11LREM key count value
移除列表元素
12LSET key index value
通過(guò)索引設(shè)置列表元素的值
13LTRIM key start stop
對(duì)一個(gè)列表進(jìn)行修剪(trim),就是說(shuō),讓列表只保留指定區(qū)間內(nèi)的元素,不在指定區(qū)間之內(nèi)的元素都將被刪除。
14RPOP key
移除并獲取列表最后一個(gè)元素
15RPOPLPUSH source destination
移除列表的最后一個(gè)元素,并將該元素添加到另一個(gè)列表并返回
16RPUSH key value1 [value2]
在列表中添加一個(gè)或多個(gè)值
17RPUSHX key value
為已存在的列表添加值