Redis五大基本类型-List

Redis常用命令——List篇 列表类型是用来存储多个有序的字符串,如下图所示,a、b、c、 d、e五个元素从左到右组成了一个有序的列表,列表中的每个字符串称为元素(element) ,一个列表最多可以存储2^32-1个元素。在Redis 中,可以对列表两端插入(push)和弹出 (pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。列表是一种比较灵活的数据结构,它可以充当栈和队列的角色,在实际开发上有很多应用场景。 阅读详情

List

这里边的所有命令都是一 ‘L’ 开头的

其实就是一个双向链表,可以使用linsert … before 和 linsert … after 在这个值的前边或者是后边插入值;还可以使用 lpush(left push) 和 rpush(right push)

如果key存在,增加数据或者删除数据;不存在就创建链表,添加数据

插入与删除

127.0.0.1:6379> lpush list one #在list中插入一个元素
(integer) 1
127.0.0.1:6379> lpush list two
(integer) 2
127.0.0.1:6379> lpush list three
(integer) 3
127.0.0.1:6379> lrange list 0 -1 #查看可以看出,默认插入的方法的头插法
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> rpush list right #在这个list的尾部插入一个元素
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "three"
2) "two"
3) "one"
4) "right"
================================================================================
127.0.0.1:6379> lpop list #移除顶部元素
"three"
127.0.0.1:6379> rpop list #移除尾部元素
"right"
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "one"

通过下标获取值

127.0.0.1:6379> lindex list 0
"two"
127.0.0.1:6379> lindex list 1
"one"

获取list的长度与移除指定的值

127.0.0.1:6379> lpush list three
(integer) 2
127.0.0.1:6379> lpush list three
(integer) 3
127.0.0.1:6379> lpush list one
(integer) 4
127.0.0.1:6379> llen list # 查看list的长度
(integer) 4
127.0.0.1:6379> lrange list 0 -1 # 查看list中的值
1) "one"
2) "three"
3) "three"
4) "two"
127.0.0.1:6379> lrem list 1 two # 指定移除two
(integer) 1
127.0.0.1:6379> lrem list 2 three # 如果存在多个相同的value的时候,可以一起移除
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "one"

trim修剪

127.0.0.1:6379> rpush mylist aaa
(integer) 1
127.0.0.1:6379> rpush mylist bbb
(integer) 2
127.0.0.1:6379> rpush mylist ccc
(integer) 3
127.0.0.1:6379> rpush mylist ddd
(integer) 4
127.0.0.1:6379> lrange mylist 0 -1
1) "aaa"
2) "bbb"
3) "ccc"
4) "ddd"
127.0.0.1:6379> ltrim mylist 1 2 #只要mylist中下标在1~2号之间的元素
OK
127.0.0.1:6379> lrange mylist 0 -1
1) "bbb"
2) "ccc"

移除当前list的值,把它添加到另一个list中

127.0.0.1:6379> rpush mylist zkw
(integer) 1
127.0.0.1:6379> rpush mylist ls
(integer) 2
127.0.0.1:6379> rpush mylist zs
(integer) 3
127.0.0.1:6379> rpush mylist ww
(integer) 4
127.0.0.1:6379> lrange mylist 0 -1
1) "zkw"
2) "ls"
3) "zs"
4) "ww"
127.0.0.1:6379> rpoplpush mylist outherlist # 组合命令,移除mylist中的最后一个元素,把它插入到outherlist中
"ww"
127.0.0.1:6379> lrange mylist 0 -1
1) "zkw"
2) "ls"
3) "zs"
127.0.0.1:6379> lrange outherlist 0 -1
1) "ww"

将list中的指定下标的值替换成另一个

127.0.0.1:6379> exists list # 判断是否存在这个list
(integer) 0
127.0.0.1:6379> lset list 0 redis # 如果list中当前的key存在值就更新,不存在就报错
(error) ERR no such key
127.0.0.1:6379> lpush list java
(integer) 1
127.0.0.1:6379> lindex list 0
"java"
127.0.0.1:6379> lset list 0 redis # 当前key存在值,就更新
OK
127.0.0.1:6379> lindex list 0
"redis"

在一个具体的value的前边或者是后边插入一个值

127.0.0.1:6379> lpush mylist love
(integer) 1
127.0.0.1:6379> linsert mylist before love I # 在love 的前边插入 I
(integer) 2
127.0.0.1:6379> linsert mylist after love you # 在love的后边插入 you
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "I"
2) "love"
3) "you"

用Arduino和8个舵机,从零搭建一台能走路的并联腿机器狗(附完整代码与3D模型) 本文详细介绍了如何用Arduino和8个舵机从零搭建一台能走路的并联腿机器狗,包括硬件准备、结构组装、电路系统搭建、运动算法实现和Arduino编程。通过完整的代码与3D模型,帮助创客深入理解机器人运动原理,实现稳健行走的8自由度机器狗。 阅读详情

相关推荐

基于航位推算与多传感器融合的高精度避障小车设计

航位推算(Dead Reckoning)是一种在无外部定位信号下通过里程计与惯性测量单元(IMU)持续积分估计位姿的基础导航方法,其核心在于运动学建模、误差累积抑制与多源数据融合。该技术具备低依赖、高实时、强确定性等工程优势,广泛应用于服务机器人、AGV、竞赛无人平台等受限环境下的自主导航系统。结合编码器高分辨率测距与九轴IMU姿态解算,可显著抑制纯里程计漂移,提升短时定位精度至厘米级。本文以全国大学生电子设计竞赛K题为背景,深入实现了一种面向确定性场地的离线建图+航位推算双模协同架构,重点解决嵌入式资源约

weixin_36328210的博客 81

redis五大常见数据结构的操作命令(string, hash, list, set和zset)

而list支持头尾的插入删除,所以可以将list作为栈 / 队列使用,虽然list支持下标的索引(最早的时候,redis通过list类型实现了消息队列,现在redis通过stream类型实现消息队列)共享会话:redis存储session信息,应用服务器不再独立地存储属于自己的session,而是共享redis的session信息,这将优化客户端的体验,也是比较符合逻辑的。WEIGHTS:key在运算中的权重,相当于一个系数,每个集合的分数都要乘以这个系数,可以为小数,默认为1。

凡事都是靠练习 1256

海康VisionMaster表面缺陷滤波实战:从参数调优到工业检测避坑指南

本文深入探讨海康VisionMaster表面缺陷滤波技术在工业检测中的应用,从参数调优到ROI绘制与Blob分析的协同策略,提供金属外壳、锂电池铝壳等复杂表面的缺陷检测实战指南。通过多级滤波架构和动态ROI生成法,显著提升检出率至98.7%,误检率低于0.5%,为工业质检提供智能化解决方案。

ujm5678901的博客 328

Redis—List数据类型及其常用命令详解

Redis-List数据类型及其常用命令详解

喻师傅的学习笔记 2991

NLM去噪算法:原理、优化与医学图像处理实战

本文深入解析NLM去噪算法的核心原理及其在医学图像处理中的优化应用。通过全局自相似性计算,NLM算法有效抑制噪声并保留细节,特别适用于超声图像斑点噪声处理。文章还介绍了积分图像和傅里叶变换等优化技巧,显著提升计算效率,并分享医学影像项目中的实用调参经验。

weixin_29051149的博客 348

EDKII实战:手把手调试PciHostBridge.c,看UEFI如何分配你的PCIe设备资源(IO/Memory空间)

本文深入解析EDKII中PciHostBridge.c模块的工作原理,详细指导如何调试PCIe设备资源分配(IO/Memory空间)。通过实战案例展示UEFI环境下Root Bridge初始化、地址空间转换及协议安装等核心流程,提供常见问题排查方法与性能优化建议,帮助开发者解决PCIe设备兼容性问题。

weixin_29201933的博客 208

【Redis】Redis基础命令集详解

此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。

Etui۹(・༥・´)و的博客 5万+

嵌入式开发之瑞芯微RK356x--基本环境搭建

嵌入式环境搭建

NexyHO的博客 617

Redis——list类型详解

Redis中的list类型常用命令,编码方式和应用场景

m0_60867520的博客 1888

【思考模型框架】采用双钻模型:发散(桌面研究/用户访谈)→收敛(需求归类/优先级排序),输出需求规格书、追踪矩阵及产品待办清单。

设计思维双钻模型是一种以用户为中心的需求管理方法,通过"发散-收敛"的双循环确保问题定位准确、方案切实可行。第一钻石(探索→定义)聚焦"找对问题",运用用户访谈、田野调查等方法挖掘真实需求;第二钻石(开发→交付)解决"做对方案",通过原型测试、A/B测试验证可行性。该模型强调低保真验证、多团队协作和真实用户测试,避免资源浪费与伪需求开发。典型应用场景包括产品功能优化、用户体验提升等需要精准落地的需求场景。核心价值在于建立从用户痛点到解决方案的可控闭

奶爸的编程之路,也就一周冷个三天 319

基于STM32XX的LCD液晶显示屏(HS280S010B、驱动芯片:ST7789V)驱动C程序设计

/ 16位/pixel (RGB565)#define LCD_WIDTH 240 // 屏幕宽度。#define LCD_HEIGHT 280 // 屏幕高度。LCD_ROTATION_180, // 180度旋转。LCD_ROTATION_270 // 270度旋转。LCD_ROTATION_90, // 90度旋转。LCD_ROTATION_0 = 0, // 0度旋转。

myron6688的博客 369

【Redis】三、五大基本类型-list set

Redis中的list和set结构 一、list基本操作 单键多值: 列表是简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部(左边)或者尾部(右边),底层是一个双向链表 lpush/rpush:从左边/右边插入一个或多个值 lpush k1 v1 v2 v3 lpop/rpop:从左边/右边取一个值(值光键亡) lpop k1 rpoplpush:从一个list的右边复制到另一个list的左边 rpoplpush k1 k2 二、list底层存储结构 List的数据结构为q

xitianxiaofeixue的博客 450

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

3-Redis五大基本数据类型之List

<h2 id="list数据类型简介">List数据类型简介</h2> <p>List 列表是基本数据类型。</p> <p>列表内的数据是一块一块的。</p> <p>对于一个list 如果我们制定规

m0_60700102的博客 514

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Redis五大基本类型——List列表命令详解(命令用法详解+思维导图详解)

LPUSH、LPUSHX、RPUSH、RPUSHX、LRANGE、LPOP、RPOP、LREM、LSET、LINDEX、LINSTER、LLEN、BLPOP、BRPOP

linsc_05的博客 1551

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Redis】 Redis五大基本数据类型(String,List,Set,Hash,Zset)

五大数据类型(String,List,Set,Hash,Zset) string set,get,append,strlen 127.0.0.1:6379> APPEND name ",hello,my friend" #拼接字符串 (integer) 22 127.0.0.1:6379> get name "wangwu,hello,my friend" 127.0.0.1:6379> STRLEN name #统计字符串长度 (integer) 22 getrange key x y

weixin_44175122的博客 190

Redis 学习笔记(三)五大基本数据类型List

redis的基本数据类型为: string list set hash zset List数据类型(列表) 在redis中,可以将列表当成栈(先进后出)、队列(先进先出)和阻塞队列(一个线程往列表中放消息,另一个线程从列表中取消息。当队列为空:取消息线程被阻塞;当队列中满了:放消息线程被阻塞)。 所有的list命令都以"L"为开头: lpush <list> <value> #将value插入到list列表头部(从左侧添加);当list不存在时先创建列表 rpush

weixin_41561640的博客 2261

【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】

🍀 Redis 是一种 key-value 类型的数据库🍀 key 一般是String类型🍀 value 的类型多种多样(如下图所示)Redis 命令官网: https://redis.io/commands;

夏壹分享 138

Redis五大基本数据类型List练习笔记

Redis五大基本数据类型List

weixin_44084096的博客 363

【Redis】3、详解五大基本数据类型String、List、Set、Zset、Hash

Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。 1、Redis-key 常用命令 在redis中无论什么数据类型,在数据库中都是以key-value形式保存,通过进行对Redis-key的操作,来完成对数据库.

土味儿 612

list转换成string字符串_Redis五大基本数据类型之String

Redis五大基本Value数据结构类型: String,List,Hash,Set,ZSet1:String String 是Redis 里面最简单的一种数据结构。在Redis中,所有的Key都是字符串,存储对象时也是需要进行序列化操作,但是不同的key对应的value则具备不同的数据结构,我们所说的五种不同的数据结构主要指的时value 的数据类型不同Redis 中的字符串时动态字...

weixin_39609071的博客 555

手撕Redis五大基本数据类型之列表(List)

1、List(列表) Redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 2^32 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。集合成员是**不唯一的,**这就意味着集合中能出现重复的数据。 它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标来操作中间的节点性能会较差。 2、基本命令 所有List命令都是以L开头 2.1、lpush命令 Lpush 命令用于将一个或多个值插入到列表头部。 如果 k

itbestboy的博客 363

【Redis】003-Redis五大数据类型:Redis-Key基本命令、String字符串、List列表

目录 一、官方文档 二、Redis-Key基本命令 1、存数据 格式: 演示: 2、取数据 格式: 演示: 3、查看所有key 格式: 演示: 4、查询一个key是否存在 格式: 演示: 5、移除一个key(一般不这么用) 格式: 演示: 6、使一个key在一段时间后过期 格式: 演示: 7、判断key的数据类型 格式: 演示: 8、Redis命令学习文档 三、String字符串类型详解 1、为字符串追加内容 格式: 演示: 2、获取字符串长度 格

訾博(ZiBo)的博客 369

Redis五大数据类型之一(List的常用基本操作)

须知: 在redis里面,可以把list弄成栈、队列、阻塞队列 所有的list命令都是以l开头的 Redis中的命令不区分大小写 1、插入命令 Lpush 将一个或者多个值插入到列表的头部 Rpush 将一个或者多个值插入到列表的尾部 2、取出某个范围内的值 Lrange 通过区间获取list中的值 注意:lrange 0 -1获取的是列表中的全部值 取值是从尾部往前取的 3、弹出首部或者尾部的值 Lpop 移除列表首部的一个值 Rpop...

m0_51287945的博客 1008

Redis系统学习之五大基本数据类型(List(列表))

List(列表) 这个就比较有意思了 如果从左边添加,右边获取,就可以实现队列的功能 如果从左边添加,左边获取,就可以实现栈的功能 如果是可以两面添加,两边获取就可以实现阻塞队列的功能 左边添加值 lpush key value 获取值(范围) lrange key startindex endindex 因为是一直从左边添加的,符合压栈的规则先进去的后出来...

彼岸舞的博客 138

Redis之2022最全五大基本数据类型相关知识及shell命令(String、List、Set、Hash、Zset)

引用Redis官网上一段话,Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和地理空间(geospatial) 索引半径查询。

熊凯瑞的博客 2408

Redis笔记【5】:五大数据类型之 list 类型(基本操作、注意事项、应用场景)

list 类型 list 基于的数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分 需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序 list 类型:保存多个数据,底层使用双向链表存储结构实现 Redis存储空间 list 类型数据基本操作 添加/修改数据 lpush key value1 [value2] ... rpush key value1 [value2] ... 获取数据 lrange key start stop # 指定索引范围获取数据 l

Java技术工坊 681
上一篇: Redis的五大类型-String
下一篇: Redis五大基本类型-Set
鳳九~
博客等级 码龄8年 1384粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值