05-03_Redis_数据结构_List数据结构

Redis的List数据结构是一个按插入顺序排序的字符串列表,支持头部和尾部插入、删除操作。本文详细介绍了List的指令,包括左右侧插入、弹出及获取部分元素的方法,并给出了代码示例。此外,还探讨了List在队列、堆和栈等应用场景中的使用。
摘要由CSDN通过智能技术生成

5.3 List数据结构

5.3.1 List列表

  • List列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
  • 一个列表最多可以包含232-1个元素(4294967295,每个列表超过40亿个元素)。

5.3.2 List指令

  • 右侧插入

右侧插入数据命令如下:

rpush listkey c b a 

从右侧插入数据即列表的尾部插入数据,插入后的结果顺序是:

c — b — a。  
  • 左侧插入

右侧插入数据命令如下:

lpush listkey f e d 

插入后的结果顺序是:

d — e — f。  

结合右侧插入和左侧插入数据的最终结果顺序:

d — e — f — c — b — a。  
  • 右侧弹出

右侧弹出数据的命令:

rpop listkey  

指把右侧的最后一个元素移除,移除前的数据顺序为:

d — e — f — c — b — a  

移除后的数据顺序为:

d — e — f — c — b
  • 左侧弹出

左侧弹出数据的命令:

lpop listkey  

指把左侧的最后一个元素移除,移除前的数据顺序为:

d — e — f — c — b 

移除后的数据顺序为:

e — f — c — b
  • 获取当前列表的长度

获取当前列表长度命令:

llen listkey
  • 部分范围的获取

部分范围的获取命令为:

lrange listkey 0 2

0 —— 代表左侧第一个元素  
2 —— 代表结束的元素  

即获取

e — f — c — b

中的

e — f — c

三个元素。

  • 获取子集

    lrange listkey 1 -1

    1 —— 代表左侧第2个元素
    -1 —— 代表右侧末端

即获取

e — f — c — b

中的

f — c — b

三个元素。

不建议在缓存中使用大量集合。

5.3.3 List指令代码示例

输入三个元素:

rpush mylist a b c

获取元素子集合:

lrange mylist 0 -1

返回:

“a”
“b”
“c” 

左侧插入一个元素:

lpush mylist 0

获取元素子集合:

lrange mylist 0 -1

返回:

“0”
“a”
“b”
“c”

右侧弹出:

rpop mylist

返回:

“c”

利用list数据结构可以帮助实现队列、堆、栈的这样一些基本特性。

5.3.4 List典型的应用场景

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值