• Redis列表常用命令合集(列表增加,删除数据等命令)
  • 发布于 1周前
  • 36 热度
    0 评论
对于 Redis 中的列表数据,一般是以 l 开头,为了方便记忆,可以理解成是 List,或者是 Left 中的 L,为什么要提 Left 以及说一般是以 l 开头呢,因为有一些操作是 r 开头,这个表示是对列表的右边进行数据操作。

1. 列表数据的增加
lpush
从列表左边添加一个或多个数据:
lpush rank 1
lpush rank 2 8
rpush
从列表右边添加一个或多个数据:
rpush rank 3
rpush rank 4 5
linsert
在指定的 value 前或者后面插入一个 new_value,比如我们在 2 前插入 1.5
linsert rank before 2 1.5
或者在 2后面插入 2.5:
linsert rank after 2 2.5
如果列表中有重复数据怎么办?系统会从左边开始寻找,找到的第一个目标数据的位置就停止查找,然后插入。

2. 列表数据的查看
lrange
通过下标查看数据范围,比如我们想查看第二个到第五个之间的数据:
lrange rank 1 4
如果想查看全部列表数据:
lrange rank 0 -1
lindex
通过下标索引获取数据,比如想查看第三个数据:
lindex rank 2
llen
获取列表长度:
llen rank
3. 列表数据的删除
lpop
从列表左边弹出一个数据:
lpop rank
rpop
从列表右边弹出一个数据:
rpop rank
lrem
这是一个遍历删除的操作,它的命令示例如下:
lrem key count value
当 count 大于 0 时,表示从左到右删除最多 count 个值为 value 的数据
当 count 小于 0 时,表示从右到左删除最多 count 个值为 value 的数据
当 count 等于 0 时,表示删除列表中全部值为 value 的数据

比如我们设置 rem_list 的值如下:
lpush rem_list 1 3 3 5 3 8 5
接下来我们从左到右删除两个 value 等于 3 的数据:
lrem rem_list 2 3
执行之后,rem_list 中应该还剩一个 3

如果我们想删除 rem_list 中全部 value 等于 5 的数据:
lrem rem_list 0 5

ltrim
按照索引范围修剪列表:
ltrim key start end
比如我们只保留从最开始到第四个元素的数据:
rpush trim_list 0 1 2 3 4

ltrim trim_list 0 3

4. 列表数据的修改
lset
修改某个索引的数据,比如修改第三个位子的数据:
lset a 2 8

用户评论