Redis命令 - Lists命令组常用命令
先创建一个 key 叫做 mylist,mylist存一个list。
list数据类型底层是一个链表。先进后出,后进先出。
命令中的L(Left)、R(Right)代表链表的头部L(下标0的位置)和尾部R(下标length-1的位置)
list中的允许有相同的元素
1、LSET key index value
设置 index 位置的list元素的值为 value。当index超出范围时会返回一个error。
lset mylist 0 123
如果key不存在会报错
2、LINSERT key BEFORE|AFTER pivot value
作用:在list的某个元素前或者后插入某个新元素。
2.1、当 key 不存在时,这个list会被看作是空list,任何操作都不会发生,返回0
2.2、当 key 存在,正常插入元素:LINSERT key BEFORE pivot value
当前mylist中只有一个元素123
在123之前插入元素0
linsert mylist before 123 0
2.3、当 key 存在,正常插入元素:LINSERT key AFTER pivot value
当前mylist中有2个元素:【0,123】
在0后面插入一个元素12,插入成功后,mylist有3个元素:【0, 12, 123】
linsert mylist after 0 12
2.4、当key存在,但保存的不是一个list的时候,会返回error。
linsert mylist after 0 {“username”:“zhangsan”}
2.5、当 pivot 值找不到的时候返回 -1。
mylist中不存在元素456,尝试在456后面插入789,就会返回-1
linsert mylist after 456 789
3、LPUSH key value [value …]
一个列表从下标0开始,到下标len(list)-1结束,lpush是将一个元素或者多个元素插入到key指向的List的左侧。
3.1、若Key不存在:进行 push 操作前会创建一个空列表。
lpush mylist1 0 1
返回值:在 push 操作后的 list 长度
一下push多个元素,例如0和1,是把0和1从左到右依次push,因此先push 0,再push 1。所以等都push成功后,查看列表元素第一个是1,第2个是0
3.2、若Key存在,但key对应的不是list而是其他数据类型,返回一个错误
之前创建了一个myhash的key,key对应的hash。因此向myhash push元素时,会报错
lpush myhash 1
4、RPUSH key value [value …]
一个列表从下标0开始,到下标len(list)-1结束,rpush跟lpush的区别就是,rpush是将一个元素或者多个元素插入到key指向的List的右侧。
rpush mylist 4 5 6
依次将4、5、6push到mylist的右侧,成功后返回list的长度6。查看mylist push后的元素排列如下。
5、LPUSHX key value [value…]
LPUSHX 比 LPUSH多了一个X,这个X代表Exist,因此LPUSHX的作用是,仅当key已经存在且存着一个list的时候,才将值插入到list的头部。如果key不存在时,不做任何操作。
lpushx mylist2 1
mylist2不存在,因此什么也不做,返回值0
lpushx mylist -1
mylist存在,且存着一个list,因此push成功,返回list长度
查看操作后的mylist,-1成功插到了mylist头部
此命令同样可以push多个元素。
6、RPUSHX key value [value…]
RPUSHX与LPUSHX命令的唯一区别是,当key存在且存着一个list的时候,是插到list的尾部。同样当key不存在的时候,什么也不做
rpushx mylist2 1
mylist2不存在,因此什么也不做,返回值0
rpushx mylist -2 -3
mylist存在,且存着一个list,因此push成功,返回list长度
查看操作后的mylist,-2和-3成功插到了mylist尾部
7、LPOP key
移除并且返回 key 对应的 list 的第一个元素。
若key存在返回第一个元素的值,或者当 key 不存在时返回null。
lpop mylist2
lpop mylist
mylist2不存在,返回null,mylist存在且第一个元素是-1,弹出成功后,返回了此元素值-1
8、RPOP key
RPOP跟LPOP的区别仅在于是移除并获取列表的最后一个元素。
rpop mylist2
rpop mylist
mylist2不存在,返回null,mylist存在且最后一个元素是-3,弹出成功后,返回了此元素值-3
9、LLEN key
若key存在且存着一个list,则返回list的长度,否则返回0
10、LINDEX key index
根据index获取list中的元素。如果index越界返回null,如果在范围内,返回对应的元素值。当key存的不是一个list时,报错。
lindex myhash 0
myhash存的不是list,将会报错
lindex mylist 3
mylist中有7个元素。第3个元素是4。若想访问第8个元素,就超出了范围,会返回null
11、LRANGE key start stop
返回存储在key的列表里指定范围内的元素。start和stop偏移量都是基于0的下标。偏移量也可以是负数,列表尾部即最后一个元素是-1,倒数第二个元素是-2,以此类推。
例如,mylist长度是7,想获取整个列表的元素有两种方式。
lrange mylist 0 7 或者 lrange mylist 0 -1
lrange mylist 3 8
如果stop偏移量大于list的长度,那就取到列表最后的一个元素为止。
如果stop偏移量小于start偏移量,那就不会做任何操作。
相关文章:

Redis命令 - Lists命令组常用命令
先创建一个 key 叫做 mylist,mylist存一个list。 list数据类型底层是一个链表。先进后出,后进先出。 命令中的L(Left)、R(Right)代表链表的头部L(下标0的位置)和尾部R(…...

切分大文件sql为小份
数据库太大了,整个备份导入出问题或者慢,需要将整个库按照表分割(一个表一个sql文件) 环境 win10 工具:python3.7pycharm 要分割的文件大小:6G,sql文件import redbname with open(best**.sql,…...

最新版CleanMyMac X4.14.7智能清理mac磁盘垃圾工具
CleanMyMac X是一款专业的Mac清理软件,可智能清理mac磁盘垃圾和多余语言安装包,快速释放电脑内存,轻松管理和升级Mac上的应用。同时CleanMyMac X可以强力卸载恶意软件,修复系统漏洞,一键扫描和优化Mac系统,…...
数据割据:当代社会数据治理的挑战
数据割据是指各个组织、企业或政府机构在数据的采集、存储和使用上形成了相对独立的局面,彼此之间缺乏有效的数据共享和流通机制。这种割据现象导致了数据的重复采集、冗余存储以及信息孤岛的出现,不仅浪费了大量的资源,还制约了数据的价值发…...

逻辑回归(解决分类问题)
定义:逻辑回归是一种用于解决分类问题的统计学习方法。它通过对数据进行建模,预测一个事件发生的概率。逻辑回归通常用于二元分类问题,即将数据分为两个类别。它基于线性回归模型,但使用了逻辑函数(也称为S形函数&…...

论文阅读:Feature Refinement to Improve High Resolution Image Inpainting
项目地址:https://github.com/geomagical/lama-with-refiner 论文地址:https://arxiv.org/abs/2109.07161 发表时间:2022年6月29日 项目体验地址:https://colab.research.google.com/github/advimman/lama/blob/master/colab/LaMa…...

结构型设计模式——适配器模式
适配器模式 这个更加好理解,就是做适配功能的类,例如,现在手机没有了圆形耳机接口,只有Type-C接口,因此你如果还想要使用圆形耳机的话需要买个圆形接口转Type-C的转换器(适配器),这…...

三菱FX系列PLC定长切割控制(线缆裁切)
三菱PLC绝对定位指令DDRVA实现往复运动控制详细介绍请查看下面文章链接: https://rxxw-control.blog.csdn.net/article/details/135570157https://rxxw-control.blog.csdn.net/article/details/135570157这篇博客我们介绍线缆行业的定长切割控制相关算法。 未完待…...

GPT编程:运行第一个聊天程序
环境搭建 很多机器学习框架和类库都是使用Python编写的,OpenAI提供的很多例子也是Python编写的,所以为了方便学习,我们这个教程也使用Python。 Python环境搭建 Python环境搭建有很多种方法,我们这里需要使用 Python 3.10 的环境…...

NLP论文阅读记录 - WOS | ROUGE-SEM:使用ROUGE结合语义更好地评估摘要
文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结 前言 ROUGE-SEM: Better evaluation of summarization using ROUGE combin…...

vscode 创建文件自动添加注释信息
随机记录 目录 1. 背景介绍 2. "Docstring Generator"扩展 2.1 安装 2.2 设置注释信息 3. 自动配置py 文件头注释 1. 背景介绍 在VS Code中,您可以使用扩展来为新创建的Python文件自动添加头部注释信息。有几个常用的扩展可以实现此功能࿰…...

JVM内存区域详解,一文弄懂JVM内存【内存分布、回收算法、垃圾回收器】
视频讲解地址 学习文档 一、内存区域 区域描述线程私有如何溢出程序计数器为了线程切换后能恢复到正确的执行位置,每个线程都要有一个独立的程序计数器。✅唯一一个不会内存溢出的地方虚拟机栈1. 每个方法执行的时候,Java虚拟机都会同步创建一个栈帧用于…...
uniapp搜索附近蓝牙信标(iBeacon)
一、 iBeacon介绍 iBeacon是苹果在2013年WWDC上推出一项基于蓝牙4.0(Bluetooth LE | BLE | Bluetooth Smart)的精准微定位技术,在iPhone 4S后支持。当你的手持设备靠近一个Beacon基站时,设备就能够感应到Beacon信号,范…...
Redis 常见数据结构以及使用场景分析
Java面试题目录 Redis 常见数据类型以及使用场景分析 Redis中有string、list、hash、set、sorted set、bitmap这6种数据类型。 string可以用来做缓存,分布式锁,计数器等。 list可以实现消息队列,分页查询等。 hash适合存储对象结构。 set 可…...

LMDeploy 大模型量化部署实践
LMDeploy 大模型量化部署实践 大模型部署背景模型部署定义产品形态计算设备 大模型特点大模型挑战大模型部署方案 LMDeploy简介推理性能核心功能-量化核心功能-推理引擎TurboMind核心功能 推理服务 api-server 案例(安装、部署、量化) 大模型部署背景 模型部署 定义 将训练好…...

15个为你的品牌增加曝光的维基百科推广方法-华媒舍
维基百科是全球最大的免费在线百科全书,拥有庞大的用户群体和高质量的内容。在如今竞争激烈的市场中,利用维基百科推广品牌和增加曝光度已成为许多企业的重要策略。本文将介绍15种方法,帮助你有效地利用维基百科推广品牌,提升曝光…...

启动redis出现Creating Server TCP listening socket 127.0.0.1:6379: bind: No error异常
1.进入redis安装目录,地址栏输入cmd 2.输入命令 redis-server.exe redis.windows.conf redis启动失败 解决,输入命令 #第一步 redis-cli.exe#第二步 shutdown#第三步 exit第四步 redis-server.exe redis.windows.conf 显示以下图标即成功...
响应式编程Reactor优化Callback回调地狱
1. Reactor是什么 Reactor 是一个基于Reactive Streams规范的响应式编程框架。它提供了一组用于构建异步、事件驱动、响应式应用程序的工具和库。Reactor 的核心是 Flux(表示一个包含零到多个元素的异步序列)和 Mono表示一个包含零或一个元素的异步序列…...

React项目实战--------极客园项目PC端
项目介绍:主要将学习到的项目内容进行总结(有需要项目源码的可以私信我) 关于我的项目的配置如下,请注意下载的每个版本不一样,写的api也不一样 一、项目介绍 1.资料 1)短信接收&M端演示:…...
Jerry每次能向前或向后走n*n步(始终不能超过初始位置1e5),q(q <= 1e5)次询问,求向前走d最少要几次
题目 思路:因为有走的过程不能超初始位置1e5的限制,所以不能直接用奇数最多两次,4的倍数最多两次的结论。spfa,平方数的dis为1,然后推出其他数的dis #include<bits/stdc.h> using namespace std; #define int …...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...