当前位置: 首页 > news >正文

redis 数据类型新手练习系列——List类型

redis 数据类型
Redis 主要支持以下几种数据类型:

(1)string(字符串): 基本的数据存储单元,可以存储字符串、整数或者浮点数。

(2)hash(哈希):一个键值对集合,可以存储多个字段。

(3)list(列表):一个简单的列表,可以存储一系列的字符串元素。

(4)set(集合):一个无序集合,可以存储不重复的字符串元素。

(5)zset(sorted set:有序集合): 类似于集合,但是每个元素都有一个分数(score)与之关联。

(6)位图(Bitmaps):基于字符串类型,可以对每个位进行操作。

(7)超日志(HyperLogLogs):用于基数统计,可以估算集合中的唯一元素数量。

(8)地理空间(Geospatial):用于存储地理位置信息。

(9)发布/订阅(Pub/Sub):一种消息通信模式,允许客户端订阅消息通道,并接收发布到该通道的 消息。

(10)流(Streams):用于消息队列和日志存储,支持消息的持久化和时间排序。

(11)模块(Modules):Redis 支持动态加载模块,可以扩展 Redis 的功能。

使用:

key-string:最常用的,一般用于存储一个值。

key-hash:存储一个对象数据的。

key-list:使用list结构实现栈和队列结构。 分布式锁 红锁

key-set:交集,差集和并集的操作。

key-zset:排行榜,积分存储等操作。

Redis列表是简单的字符串列表,按照插入顺序排序。

你可以添加一个元素到列表的头部(左边)或者尾 部(右边)。

一个列表最多可以包含 2的指数32 - 1 个元素 (4294967295, 每个列表超过40亿个元素)

(1)lpush key value1 value2
功能:从列表左侧插入一个或多个值。

将"item1"和"item2"插入到列表mylist的左侧。

(2)rpush key value3 value4
功能:从列表右侧插入一个或多个值。

将"item3"和"item4"插入到列表mylist的右侧。

(3)lpop key
功能:从列表左侧弹出并返回一个值。
(4)rpop key
功能:从列表右侧弹出并返回一个值。

注意

LPUSH 是从左端插入,后插入的元素会靠近列表的头部。

LPOP 是从左端弹出,所以会先弹出最后被 LPUSH 的元素(即 "item2")

所以最后的表的位置为2134

(5)lrange key start stop
功能:获取列表中指定范围内的值。

(6)llen key
功能:获取列表的长度。

(7)lindex key index
功能:获取列表中指定索引位置的值。

返回"item1"(列表mylist中索引为 0 的值)。

(8)lset key index value
功能:设置列表中指定索引位置的值。

将列表mylist中索引为 0 的值修改为"new_item"。

(9)lrem key count value
功能:从列表中删除指定数量的值。

count:删除的数量和方向:

count > 0:从**列表头部(左侧)**开始删除前 count 个匹配的 value。

count < 0:从**列表尾部(右侧)**开始删除前 |count| 个匹配的 value。

count = 0:删除所有匹配的 value。

value:要删除的元素值(每次只能指定 1 个值)。

(10)ltrim key start stop
功能:修剪列表,只保留指定范围内的值。

保留列表mylist中索引 0 到 1 的值,删除其余部分

(11)RPOPLPUSH source destination
功能:从源列表右侧弹出一个值,并将其插入到目标列表的左侧。

将列表mylist右侧的值弹出并插入到列表newlist的左侧。

其他类型详情可查看本人同系列博客

http://www.xdnf.cn/news/227395.html

相关文章:

  • 驱动开发系列54 - Linux Graphics QXL显卡驱动代码分析(一)设备初始化
  • 微信小程序 XSS 防护知识整理
  • HTML ASCII 编码详解
  • 遗传算法(Genetic Algorithm,GA)
  • 5、SpringBoot整合RabbitMQ
  • 39.RocketMQ高性能核心原理与源码架构剖析
  • iview表单提交验证时,出现空值参数被过滤掉不提交的问题解决
  • 大连理工大学选修课——机器学习笔记(2):机器学习的一般原理
  • 智能检索革命全景透视——基于《搜索引擎信息检索困境破解体系》深度拆解
  • 数据结构篇:线性表的另一表达—链表之单链表(下篇)
  • 宇树科技开启“人形机器人格斗盛宴”
  • LeetCode 2302.统计得分小于 K 的子数组数目:滑动窗口(不需要前缀和)
  • Java架构师深度技术面试:从核心基础到分布式架构全解析
  • Milvus(11):动态字段、可归零和默认值
  • 基于开源AI智能名片链动2+1模式S2B2C商城小程序的私域电商与微商融合创新研究
  • 基于Docker的Elasticsearch ARM64架构镜像构建实践
  • vue 和 html 的区别
  • 20250430在ubuntu14.04.6系统上查看系统实时网速
  • 运营岗位选择
  • 多用户远程 Debugger 服务隔离方案技术实践
  • Java使用 MyBatis-Plus 实现前端组装查询语句、后端动态执行查询的功能,
  • 使用vue开发electron
  • Git从入门到精通-第二章-工具配置
  • 软考中级-软件设计师 数据结构(手写笔记)
  • 文献分享:CovEpiAb-冠状病毒免疫表位及抗体数据库
  • HCIP-数据通信datacom认证
  • 【RustDesk 】中继1:压力测试 Python 版 RustDesk 中继服务器
  • 【安全扫描器原理】基于协议的服务扫描器
  • 欧洲分子生物学实验室EMBL介绍
  • 详解具身智能机器人开源数据集:RoboMIND