【Redis】 列表(List)

本文详细介绍了Redis列表(List)数据结构的特点及应用场景,包括双向链表结构、push和pop操作,并提供了完整的Redis列表命令集,帮助读者掌握如何利用Redis列表实现栈和队列等功能。

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

一、Redis 列表(List)

List是一个链表结构,主要功能是push、pop、获取一个范围所有值等,操作中key理解为链表的名字。Redis的list类型是一个每个元素都为string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list即可以作为栈(先进后出),又可以作为对列(先进先出)。

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

二、Redis 列表命令

注:下列指令索引从0开始

命令描述
LPUSH key value1 [value2]列表头部插入一个或多个值
LRANGE key start stop获取列表指定范围内的元素(从头开始取),若stop=-1代表最后一个元素
LINSERT key BEFORE,AFTER pivot value在列表的元素前或者后插入元素
LSET key index value通过索引设置列表元素的值
LREM key count value移除列表count个相同元素,(count<0从尾删除,n=0全部删除)
LTRIM key start stop对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。若stop=-1代表最后一个元素
LLEN key获取列表长度
LPOP key列表头部移除并获取该元素
LINDEX key index通过索引获取列表中的元素
LPUSHX key value将一个值插入到已存在的列表头部
RPUSH key value1 [value2]列表尾部插入一个或多个值
RPOP key列表尾部移除并获取该元素
RPOPLPUSH source destination从第一个list的尾部移除元素并添加到第二个list的头部
RPUSHX key value将一个值插入到已存在的列表尾部
BLPOP key1 [key2 ] timeout列表头部移除并获取该元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
BRPOP key1 [key2 ] timeout列表尾部移除并获取该元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
BRPOPLPUSH source destination timeout从第一个list的尾部移除元素并添加到第二个list的头部, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值