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
上一篇 2025 年 6 月 18 日 下午5:38
下一篇 2025 年 6 月 18 日 下午6:24

相关推荐

  • 2024 WebStorm最新激活码,WebStorm永久免费激活码2025-01-23 更新

    WebStorm 2024最新激活码 以下是最新的WebStorm激活码,更新时间:2025-01-23 🔑 激活码使用说明 1️⃣ 复制下方激活码 2️⃣ 打开 WebStorm 软件 3️⃣ 在菜单栏中选择 Help -> Register 4️⃣ 选择 Activation Code 5️⃣ 粘贴激活码,点击 Activate ⚠️ 必看!必看! 🔥 …

    2025 年 1 月 23 日
    45500
  • 【实战指南】基于JavaScript的五子棋AI开发:从原理到实现全解析

    🔍【实战指南】基于JavaScript的五子棋AI开发:从原理到实现全解析🔍 📖 开篇:当古典棋类邂逅现代编程 作为中国传统智力游戏的瑰宝,五子棋以其简洁规则蕴含复杂策略。本教程将带领开发者使用纯前端技术构建具备AI对战功能的五子棋系统,并深入剖析背后的算法原理。该项目既是前端工程师提升算法能力的优质案例,也是计算机博弈理论的实践典范。技术架构:原生HTML…

    2025 年 5 月 13 日
    20900
  • 2025年最新PyCharm破解教程:永久激活至2099年(附激活码下载)

    PyCharm是JetBrains公司推出的一款功能强大的Python集成开发环境,深受开发者喜爱。然而,专业版的价格对许多用户来说可能有点高。本文将详细介绍如何在2025年成功激活PyCharm专业版至2099年,让你无忧编码。 本教程不仅适用于PyCharm,还适用于JetBrains全家桶,包括IDEA、DataGrip、Goland等所有产品! 先看…

    PyCharm破解教程 2025 年 4 月 27 日
    3.0K00
  • 2025年最新DataGrip永久破解教程 🚀 | 激活码分享+破解方法详解

    还在为DataGrip的试用期到期而烦恼吗?😫 本教程将手把手教你如何将DataGrip破解至2099年,让你永久免费使用这款强大的数据库管理工具!💪 不管你是Windows、Mac还是Linux系统,不管是什么版本,这里都有详细的解决方案!✨ 📢 本教程适用于Jetbrains全家桶,包括IDEA、PyCharm、Goland等! 效果预览 先来看看破解成…

    2025 年 5 月 29 日
    17500
  • 华为OD机试E卷 –英文输入法–24年OD统一考试(Java & JS & Python & C & C++)

    文章目录 题目描述 输入描述 输出描述 用例 JS算法源码 Java算法源码 python算法源码 c算法源码 c++算法源码 题目描述 主管期望你来实现英文输入法单词联想功能。需求如下:• 依据用户输入的单词前缀,从已输入的英文语句中联想出用户想输入的单词,按字典序输出联想到的单词序列,• 如果联想不到,请输出用户输入的单词前缀。 注意: 英文单词联想时,…

    未分类 2025 年 1 月 15 日
    44100

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信