redis:List

发布时间 2023-08-17 15:21:13作者: ShineLe

List

与Java中的LinkedList类似,可以看做一个双向链表,同时支持正反向检索

特征:

  • 有序
  • 元素可重复
  • 增删速度快
  • 查询速度一般

常用命令

命令

用法

说明

lpush

rpush

lpush/rpush K V1 V2 V3 往K的左/右插入V

lpop

rpop

lpop/rpop K 从K的左/右移除一个V
llen llen K K中元素个数
lrange lrange K start end

返回K中从start到end区间内的元素

使用非负下标时:以0为第一个元素,1为第二个元素

使用负数下标时:以-1为最后一个元素,-2为倒数第二个元素

当start为0,end为-1时,代表全部

lindex lindex K n

返回下标为n的元素

可用负数,以-1为最后一个元素,-2为倒数第二个元素

ltrim ltrim K start end

只保留在区间start到end的元素,删除不在指定区间的。

下标写法同上

lpush、rpush:将(一个或多个)V从左/右插入K的表头,如果有多个V,则V的分布为(从左到右/从右到左)

lrange:返回K中指定区间内的元素

区间以偏移量 start 和 stop 指定,下标(index)参数 start 和 stop 都以 0 为底,即 0 表示列表中的第一个元素,1 表示列表的第二个元素,以此类推。我们也可以使用负数下标,以 -1 表示列表的最后一个元素,-2 表示列表的倒数第二个元素,以此类推。
当start为0,end为-1时,代表全部

lpop、rpop:移除左/右的第一个元素

lindex:取指定下标的元素

LINDEX 命令可以返回列表 key 中,下标为 index 的元素,正数下标 0 表示第一个元素,也可以使用负数下标,-1 表示倒数第一个元素

ltrim:修剪,保留指定区间内的元素,删除不在区间内的元素