跳转至

时间: 2020-07-23 14:24:24

列表 List#

类似于数组,支持从列表的左右两侧存取数据,取数据的时候支持阻塞操作。列表的下标从0开始,负数表示。

RPOPLPUSH 源列表和目的地列表指定同一个列表可以用于实现循环列表。 RPOPLPUSH 消费者先从源列表获取数据进行处理,同时放入备份队列,处理完成之后从本分队列删除。

List 常用命令:#

命令 语法 描述 返回值
LPUSH LPUSH key value1 [value] 把数据放入列表左侧 插入之后列表的长度
LPUSHX LPUSHX key value 当列表存在的时候,把数据放入列表左侧 插入之后列表的长度
RPUSH RPUSH key value1 [value] 把数据放入列表右侧 插入之后列表的长度
RPUSHX RPUSHX key value 当列表存在的时候,把数据放入列表右侧 插入之后列表的长度
LLEN LLEN key 查看列表的长度 列表的长度
LINDEX LINDEX key index 返回index位置的数据 列表 index 位置的数据,越界返回空
LSET LSET key index value 设置 index 位置的值 OK 设置成功,越界报错
LRANGE LRANGE key start end 返回 [start,end] 范围内的数据,如果start的实际位置小于end的位置将返回空 列表范围内的数据
LINSERT LINSERT key [BEFORE|AFTER] value insert_value 在指定值前面或后面插入数据 插入数据之后列表的长度
LPOP LPOP key 删除列表左边第一个元素,并返回 列表左边第一个元素,或空
BLPOP BLPOP key timeout 删除列表左边第一个元素,并返回,当源列表没有数据时阻塞,阻塞时间为timeout 列表左边第一个元素,或空
RPOP RPOP key 删除列表右边第一个元素,并返回 列表右边第一个元素,或空
BRPOP BRPOP key timeout 删除列表右边第一个元素,并返回,当源列表没有数据时阻塞,阻塞时间为timeout 列表右边第一个元素,或空
LPOS LPOS key element [count c] [rank r] 返回元素的坐标。count表示数量,rank表示第一个,rank小于零从右边开始查找 返回元素的坐标
LREM LREM key count element 从列表中删除count个指定元素, count > 0从左边开始,count < 0 从右边开始删除,count = 0 删除全部 删除的元素个数
LTRIM LTRIM key start end 删除指定范围外的元素 删除是否成功
RPOPLPUSH RPOPLPUSH source destination 从源列表删除一个元素, 放到目标列表 移动的元素
BRPOPLPUSH BRPOPLPUSH source destination timeout 从源列表删除一个元素, 放到目标列表,当源列表没有数据时阻塞,阻塞时间为timeout 移动的元素