【Redis】list列表

上一篇: String 类型

https://blog.csdn.net/m0_67930426/article/details/134362606?spm=1001.2014.3001.5501

目录

Lpush

LRange

Rpush

Lpop

Rpop

Lindex

Ltrim

Lset

列表不存在的情况

如果列表存在

Linsert

​编辑

在.........之前插入

在......后面插入

组合命令

RpopLpush


官网:

Commands | Redis

Lpush

向列表左侧插入一个或多个元素

语法

Lpush key element

首先清空数据库(非必要操作,为了演示更加清晰)

​

​

LRange

返回所有列表元素

语法

LRANGE Key start end

​

从左侧插入

--------> two one

Rpush

向列表左侧插入一个或多个元素

语法

Ppush key element

​

现在列表的顺序是这样

two one

现在我在他左侧插入一个元素

​

​

现在的顺序是 two one three

Lpop

移除列表左边第一个元素

​

列表: two one three

​

他返回了一个被移除的元素

继续查看列表

​

列表 one three

Rpop

移除列表第一个元素

​

当前列表 one three

​

返回了three,说明three是被移除的

查看列表

​

现在列表就剩下one一个元素

Lindex

获取列表元素

方便演示先清空一下数据库

​

然后重新创建一个列表(非必要操作,只是让后面的演示更加明朗,并且加深创建的印象)

用 Lpush 命令或者 Rpush命令都可以

​

现在我们获取列表的第一个元素

​

Ltrim

根据下标截取长度

这里创建了一个列表

从下标1开始截取到下标3,查看列表发现原先列表第一个元素不见了

截取的留在了现在的列表

Lset

更新列表里的元素

前提是,该列表存在,并且要修改下标的元素也要存在

列表不存在的情况

首先清空数据库

此时数据库已经清空

因为列表不存在所以返回了一个错误的提示

lset list 0 a

0---------------下标

a---------------是指将a替换列表指定下标的元素

如果列表存在

我们先去创建一个列表

现在得到一个列表 d c b a

这里提示错误的原因是列表不存在被替换的元素

所以替换某个元素的前提是被替换的要存在

现在将 c 改为 f

修改成功

此时列表 d f b a

Linsert

这里又重新创建了一个列表

three two one

在.........之前插入

例如在two的前面插入four

linsert list before two four

查看列表

此时列表 three four two one

在......后面插入

例如在one 后面插入five

插入成功

组合命令

RpopLpush

(Rop +Lpush)

移除列表最后一个元素到另一个列表

列表: one two three

rpoplpush list list2

该命令的意思是移除 lis t列表最后一个元素到 list2 列表去

结果返回了一个one ,说明one 是被移除的元素

现在来查看 list 表

再来查看 list2表

相关推荐
AllData公司负责人4 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe24 小时前
数据库备份的分类与特点
数据库
时间的拾荒人8 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠8 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
威嵌神州8 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__9 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行35011 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
星恒随风14 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下15 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
小林ixn16 小时前
别再全量塞历史了:用 Redis 给 Agent 装上「短期记忆」
redis·agent