四.1 Redis 五大数据类型/结构的详细说明/详细使用(List 列表数据类型详解和使用)

四.1 Redis 五大数据类型/结构的详细说明/详细使用(List 列表数据类型详解和使用)

@

目录
  • 四.1 Redis 五大数据类型/结构的详细说明/详细使用(List 列表数据类型详解和使用)
  • 2. list 列表常用指令(详细讲解说明)
    • 2.1 lpush/rpush <key><value1><value2><value3> .... 从左边/右边插入一个或多个值
    • 2.2 lrange <key><start><stop> 按照索引下标获得元素(从左到右)
    • 2.3 lpop/rpop <key> 从左边/右边吐出一个值,那么对应的 list 对象里的值也是少了一个了
    • 2.4 rpoplpush <key1><key2>从<key1> 列表右边吐出一个值,插到<key2>列表左边
    • 2.5 lrange mylist 0 -1 0 左边第一个,-1 右边第一个,(0-1 表示获取所有)
    • 2.6 lindex <key><index> 按照索引下标获得元素(从左到右)
    • 2.7 llen <key>获得列表长度
    • 2.8 linsert <key> before <value><newvalue><value>的前面插入<newvalue>插入值
    • 2.9 linsert <key> atfore <value><newvalue><value>的后面插入<newvalue>插入值
    • 2.10 lrem <key><n><value>从左边删除 n 个 value(从左到右)
    • 2.11 lset<key><index><value> 将列表 key 下标为 index 的值替换成 value
  • 3. list 对象的应用场景
  • 4. 最后:


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> 从左边/右边吐出一个值,那么对应的 list 对象里的值也是少了一个了

在这里插入图片描述

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> atfore <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. 系统通知,按照时间顺序展示,将最近的通知列在前面。

在这里插入图片描述

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

4. 最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/876285.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek入门教程

一、简介 DeepSeek-V3 是一款高性能的开源 AI 模型,支持自然语言处理、智能对话生成等任务。其 API 接口与 OpenAI 完全兼容,用户可以通过简单的配置迁移现有项目,同时享受更低的成本和更高的性能。本文档将详细介绍如何快速接入 DeepSeek-V3 API 二、注册与API Key获取 1.注…

Archlinux 玩原神

首先你需要一台装载了archlinux的电脑,配置的话本人:Lenovo TianYi510S-07IMB Intel Core™ i5-10400 12 内存 8.0 GiB 磁盘 1 TB 玩的挺舒服的不会安装arch或者wine的看这里 然后本人是国际服Genshin Impact,国服同理(把下文的Genshin Impact当作yuanshen),参照官网安装…

C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…

JQuery实现轮播图

一、html代码<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </he…

e语言 超级编辑框

本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18692666

clickhouse01 服务器选型, 安装(内核优化), mysql接口协议连接, DBeaver工具使用, 数据格式, 存储引擎, 用户管理

一:clickhouse 简介: https://clickhouse.com/docs/zh #什么是 clickhouse ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。 1.1:clickhouse 简介:由俄罗斯的搜索公司 yandex 在 2016 年 6 月 15 日开源 操作和mysql很像 1.1.1:列式数据库与行式数据…

【Azure Logic App】使用MySQL 新增行触发器遇见错误 :“Unknowncolumncreated_atinorderclause”

Logic App MySQL Connector: Unknown column created_at in order clause问题描述 使用Azure Logic App服务,用于监控MySQL数据库的数据新增后,触发后续的逻辑处理操作。但是,当Workflow被触发Failed,并且无法执行Workflow中的动作。查看错误信息为 : Unknown column crea…

java集合中的泛型

多态 子类类型赋值给父类 Father f1 = New Son(), 调用子类方法报错。 调用父类方法OK。这个就是多态public class goodStudy{public static void main(String[] args) {ArrayList list = new ArrayList();// 子类类型赋值给父类Person u1 = new User();// 调用子类方法报错u…

java中链表LinkedList

复习一下: ArrayList在java哪一个包中? ArrayList在java --> util包中 import java.util.ArrayList; LinkedList LinkedList: 可以在集合前面增加数据,也可以在后面增加数据,还可以在数据之间增加数据。 LinkedList 新增add package goodStudy; //ArrayList在java-->…

2025-1-21-简易登录界面的实现

前端 我们需要两个输入框,一个登录按钮,像这样(为了好看,用的是element-ui的组件,使用的话需要先去下载文件引用)代码如下系统<el-form ref="form" :model="user" label-width="80px"><el-form-item label="用户名">…

SSM

Spring Framework系统架构学习路线一、核心概念 代码书写现状:耦合度偏高 解决方案:使用对象时,在程序中不要主动使用new产生对象,转换为有外部提供对象 IOC(Inversion of Control)控制反转:对象的创建控制权由程序转移到外部,这种思想称为控制反转 目标:充分解耦 Spr…