Redis五大数据类型中列表结构的深入解析与操作指南

四.1 Redis五大数据类型中列表结构的深度剖析与操作手册

目录

  • 四.1 Redis五种数据类型里列表结构的全面剖析与运用指引
    1. list列表常用指令详解
    2. 2.1 lpush/rpush <key><value1><value2><value3> .... 从左侧/右侧插入一个或多个值
    3. 2.2 lrange <key><start><stop> 按索引下标获取元素(从左至右)
    4. 2.3 lpop/rpop <key> 从左侧/右侧弹出一个值,对应列表对象的值会减少一个
    5. 2.4 rpoplpush <key1><key2><key1>列表右侧弹出一个值,插入到<key2>列表左侧
    6. 2.5 lrange mylist 0 -1 0是左侧第一个,-1是右侧第一个,(0-1表示获取所有)
    7. 2.6 lindex <key><index> 按索引下标获取元素(从左至右)
    8. 2.7 llen <key> 获取列表长度
    9. 2.8 linsert <key> before <value><newvalue><value>前面插入<newvalue>
    10. 2.9 linsert <key> after <value><newvalue><value>后面插入<newvalue>
    11. 2.10 lrem <key><n><value> 从左侧删除n个value(从左至右)
    12. 2.11 lset<key><index><value> 将列表key下标为index的值替换成value
    1. list对象的应用场景
    1. 结尾:

list:简而言之: list类型,存储多个数据,底层采用双向链表存储结构实现

list存储结构示意图:
双向链表示意图:
在这里插入图片描述

示意图说明:
1. Redis列表是简单的字符串列表,按插入顺序排序,可向列表头部(左侧)或尾部(右侧)添加元素。
2. 底层是双向链表,对两端操作性能高,通过索引下标操作中间节点性能较差。
3. 关于更多双向链表内容,可移步:🌟🌟🌟 双向循环带头节点链表 —— C语言_双向循环节点-
CSDN博客

关于list列表的命令,Redis中有如下这些:
在这里插入图片描述

此处我们介绍一些list列表较为常用的命令,然后,由此类推,依据文档也能对其他命令上手学习运用

2. list列表常用指令详解

2.1 lpush/rpush <key><value1><value2><value3> .... 从左侧/右侧插入一个或多个值

在这里插入图片描述

注意:同时会创建一个list对象

127.0.0.1:6379> lpush k9 "a" "b" "c"

在这里插入图片描述


在这里插入图片描述

127.0.0.1:6379> rpush k10 "a" "b" "c"

在这里插入图片描述

2.2 lrange <key><start><stop> 按索引下标获取元素(从左至右)

在这里插入图片描述

注意: lreage list 0 -1 即获取该list从开头到结尾的全部内容。

127.0.0.1:6379> lrange k10 0 -1
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> lrange k10 0 1

在这里插入图片描述

2.3 lpop/rpop <key> 从左侧/右侧弹出一个值,对应列表对象的值会减少一个

在这里插入图片描述

127.0.0.1:6379> lpop k9

在这里插入图片描述

注意: 列表的头元素。 当 key 不存在时,返回 nil

在这里插入图片描述


在这里插入图片描述

2.4 rpoplpush <key1><key2><key1>列表右侧弹出一个值,插入到<key2>列表左侧

在这里插入图片描述

127.0.0.1:6379> rpoplpush k9 k10

在这里插入图片描述

2.5 lrange mylist 0 -1 0是左侧第一个,-1是右侧第一个,(0-1表示获取所有)

2.6 lindex <key><index> 按索引下标获取元素(从左至右)

在这里插入图片描述

127.0.0.1:6379> lindex k10 1

在这里插入图片描述

2.7 llen <key> 获取列表长度

在这里插入图片描述

127.0.0.1:6379> llen k10

在这里插入图片描述

2.8 linsert <key> before <value><newvalue><value>前面插入<newvalue>

在这里插入图片描述

127.0.0.1:6379> linsert k9 before "b" "tom"

在这里插入图片描述

2.9 linsert <key> after <value><newvalue><value>后面插入<newvalue>

127.0.0.1:6379> linsert k9 after "b" "jack"

在这里插入图片描述

2.10 lrem <key><n><value> 从左侧删除n个value(从左至右)

在这里插入图片描述
在这里插入图片描述

127.0.0.1:6379> lrem k9 1 "b"

在这里插入图片描述
在这里插入图片描述

2.11 lset<key><index><value> 将列表key下标为index的值替换成value

在这里插入图片描述
在这里插入图片描述

注意:index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。

在这里插入图片描述

3. list对象的应用场景

redis中list对象应用于对有操作先后顺序的数据进行管控

  1. 系统通知,按时间顺序展示,将最新的通知列在前面。
    在这里插入图片描述

  2. 其他,比如微信的最近转发,微博的最新关注等。

4. 结尾:

“在这最后的部分,我要向每一位读者表达我的感激。你们的关注与回应是我创作的动力来源,我从你们身上汲取了无穷的灵感与勇气。我会把你们的鼓励铭记于心,继续在其他领域拼搏。感谢你们,我们定会在某个时刻再度相逢。”
在这里插入图片描述

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12525.html

(0)
LomuLomu
上一篇 3小时前
下一篇 3小时前

相关推荐

  • JVM虚拟机监控及性能调优实战

    大家好,欢迎来到 程序视点!我是小二哥。 今天我们再来聊聊jvisualvm 目录 jvisualvm介绍 代码语言:txt 复制 “` 1. jvisualvm是JDK自带的可以远程监控内存,跟踪垃圾回收,执行时内存,CPU/线程分析,生成堆快照等的工具。 2. jvisualvm是从JDK1.6开始被继承到JDK中的。 “` jvisualvm使用 …

    2025 年 1 月 17 日
    22100
  • 2025年最新DataGrip激活码永久破解教程(支持2099年)

    本教程适用于JetBrains全家桶(包括IDEA、PyCharm、DataGrip、Golang等),手把手教你永久激活至2099年! 先看破解成功效果图,有效期已成功延长至2099年: 下面将详细介绍DataGrip的完整激活流程,该方法同样适用于历史版本,无论你使用什么操作系统都能完美适配! 下载DataGrip安装包 若已安装可跳过此步骤 访问Jet…

    2025 年 5 月 8 日
    12000
  • 🚀 2025年最新IDEA永久破解教程 | 含最新激活码&全平台支持(Windows/Mac/Linux)

    作为一名Java开发者,IntelliJ IDEA无疑是提升开发效率的利器💪。这款功能强大的IDE不仅拥有智能代码补全、重构等核心功能,还有丰富的插件生态系统。但高昂的授权费用让不少开发者望而却步。今天,我将分享一套完整的IDEA永久激活方案,助你畅享2099年!(仅供学习,请支持正版) 🔍 前期准备 ⚠️ 重要提示:如果你之前安装过非官方版本或尝试过其他破…

    IDEA破解教程 2025 年 6 月 5 日
    48400
  • 比想象中更复杂一点的MySQL Slow Query Log

    1. 问题概述 在分析 Slow Query Log 时,记录下的SQL语句,明明会对一张表执行全表扫描,可为什么慢日志中的 Rows_sent 、Rows_examined 和表的真实记录数也是不一样,甚至相差N多倍。还有一个细节就是上述的SQL语句,执行多次,在慢日志中记录下多条记录,记录之间Rows_sent 、Rows_examined也差别明显。 …

    未分类 2025 年 1 月 16 日
    17800
  • 【GreatSQL优化器-09】make_join_query_block

    【GreatSQL优化器-09】make_join_query_block 一、make_join_query_block介绍 GreatSQL优化器对于多张表join的连接顺序在前面的章节介绍过的best_access_path函数已经执行了,接着就是把where条件进行切割然后推给合适的表。这个过程就是由函数make_join_query_block来执…

    2025 年 1 月 13 日
    23600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信