Redis数据类型之列表(List)命令

本文深入讲解Redis列表数据类型的各项操作,包括元素的插入、获取、修改及删除等关键指令,如LPUSH、RPUSH、LINSERT、LSET、LPOP等,帮助读者全面掌握Redis列表的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis的列表数据类型可以被看做简单的字符串列表。列表按照插入的顺序排列,可以将一个元素插入到这个列表的头部或尾部

向列表中插入值
  1. LPUSH命令:将多个值插入到列表头部
    命令格式:
LPUSH key value [value...]

将一个或者多个value值插入到列表key的头部。如果同时插入多个value值,那么多个value值会按照从左到右的顺序依次插入。例如,对空列表list执行LPUSH list a b c,则列表key的值为c b a

127.0.0.1:6379[5]> lpush student1 171 '男' 22 20180001
4
  1. RPUSH命令:将多个值从尾部插入
    命令格式:
RPUSH key value [value...]
  1. LINSERT命令:插入一个值到列表中
    命令格式:
LINSERT key BEFORE | AFTER pivot value

将值value插入到列表key当中,这个值的位置在值pivot之前或之后
当pivot这个值不存在时,执行该命令无效。当key被看做看列表时,该命令无效
执行该命令,如果成功,则返回插入操作完成后的列表长度。如果只有pivot不存在则返回-1,而如果key不存在,或是空列表则返回0

127.0.0.1:6379[5]> LINSERT student1 AFTER 22 '软件工程1班'
7
127.0.0.1:6379[5]> LINSERT student AFTER 23 '网络工程1班'
0
127.0.0.1:6379[5]> LINSERT student2 AFTER 24 '信息管理1班'
-1
  1. LPUSHX命令:将值插入到列表头部
    命令格式:
LPUSHX key value 

与LPUSH比较key必须存在,并且是列表类型,当key不存在时它什么也不做

  1. RPUSHX命令:将值插入到列表尾部
    命令格式:
RPUSHX key value 

与RPUSH比较key必须存在,并且是列表类型,当key不存在时它什么也不做

  1. LSET命令:修改列表元素值
    命令格式:
LSET key index value

设置下标为index的列表key的值为value。当下标index参数超出范围时,将会返回错误;当列表为空时也会报错

127.0.0.1:6379[5]> LSET student1 2 10  # 学生1的年龄下标为2
OK
获取列表元素
  1. LLEN命令:统计列表长度
    命令格式:
LLEN key
127.0.0.1:6379[5]> llen student1
7
  1. LINDEX命令:获取列表元素的值
    命令格式:
LINDEX key index

获取列表key中下标为index的元素

127.0.0.1:6379[5]> LINDEX student2 1
网络工程1班
127.0.0.1:6379[5]> LINDEX student2 2
1994-04-23
  1. LRANGE命令:获取列表指定区间内的元素
    命令格式:
LRANGE key start end
127.0.0.1:6379[5]> LRANGE student1 0 2  # 获取列表student1中下标0~2的元素
20180001
11
10
127.0.0.1:6379[5]> LRANGE student1 0 -1  # 获取列表student1中所有的元素
20180001
11
10
男
171
75
1996-02-14
127.0.0.1:6379[5]> LRANGE student1 5 -1  # 获取列表student1中下标5~-1的元素
75
1996-02-14
删除列表元素
  1. LPOP命令:返回并删除列表的头元素
    命令格式:
LPOP key
127.0.0.1:6379[5]> LPOP student1
20180001
127.0.0.1:6379[5]> LRANGE student1 0 -1  # 再查看时第一个元素已被删除
11
10
男
171
75
1996-02-14
  1. RPOP命令:返回并删除列表的尾元素
    命令格式:
RPOP key
127.0.0.1:6379[5]> RPOP student1
1996-02-14
  1. BLPOP命令:在指定时间内删除列表的头元素
    命令格式:
BLPOP key [key...] timeout

BLPOP 是列表的阻塞式(blocking)弹出原语。
它是 LPOP key 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素。

还没写完…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值