Redis 的列表是简单的 字符串 列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过 40 亿个元素)。
命令 | 描述 |
---|---|
LPUSH KEY value1 value2 | 将一个或多个值插入到列表头部。 |
LPUSHX KEY value | 将一个值插入到已存在的列表头部。 |
RPUSH KEY value1 value2 | 将一个或多个值插入到列表尾部。 |
RPUSHX KEY value | 将一个值插入到已存在的列表尾部。 |
LSET KEY index value | 将列表索引 index 位置的值设置为 value。 |
LINSERT KEY BEFORE AFTER pivot value | 将值 value 插入到列表 KEY 当中,位于值 pivot 之前或之后。 |
LPOP KEY | 获取并移除列表的第一个元素。 |
RPOP KEY | 获取并移除列表的最后一个元素。 |
BLPOP KEY1 KEY2 timeout | 获取并移除列表的第一个元素, 如果列表没有元素会阻塞列表直到超时或有元素可弹出为止。 |
BRPOP KEY1 KEY2 timeout | 获取并移除列表的最后一个元素, 如果列表没有元素会阻塞列表直到超时或有元素可弹出为止。 |
RPOPLPUSH source destination | 移除 source 列表的最后一个元素,并将该元素添加到另一个列表 destination 的开头并返回。 |
BRPOPLPUSH source destination timeout | 1. BRPOPLPUSH 是 RPOPLPUSH 的阻塞版本。 2. 当 source 有数据时,BRPOPLPUSH 的表现与 RPOPLPUSH 完全一样。 3. 当 source 是空时,会阻塞列表直到超时或有元素可弹出为止。 |
LLEN KEY | 获取列表长度。 |
LINDEX KEY index | 通过索引获取列表中的元素。 |
LREM KEY count value | 从列表中移除 count 个值与 value 相等的元素。 |
LTRIM KEY start stop | 对一个列表进行修剪(trim),只保留列表中的 start 和 stop 之间的元素。 |
LRANGE KEY start stop | 获取列表 start 和 stop 之间 的元素。 |
192.168.98.70:6379> LPUSH haicoder Redis (integer) 1 192.168.98.70:6379> LPUSH haicoder Mongo (integer) 2 192.168.98.70:6379> LPUSH haicoder Mysql (integer) 3 192.168.98.70:6379> LRANGE haicoder 0 -1 1) "Mysql" 2) "Mongo" 3) "Redis" 192.168.98.70:6379> DEL haicoder (integer) 1
我们首先,使用 LPUSH 命令向键 haicoder 的列表中插入元素 Redis。接着,再次使用 LPUSH 命令向键 haicoder 的列表中插入元素 Mongo。
最后,我们使用 LPUSH 命令向键 haicoder 的列表中插入元素 Mysql。使用 LRANGE 命令获取键 haicoder 的列表中的所有元素。
Redis 的列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边)。