RedisList类型操作
Redis-List类型-增删改查
- Redis的Value除了可以存储字符串和Hash类型以外,还可以存储List类型
- List类型就相当于JavaScript中的数组,可以把整个数组当做一个Value存储起来
- List是
有序
的
✒增加
- 从第二个Value开始添加到前一个Value的左边
- 语法:lpush key value1 value2 value3
lpush arr1 aa bb cc
- 从第二个Value开始添加到前一个Value的右边
- 语法:rpush key value1 value2 value3
rpush arr2 aa bb cc
🍳查询
- 查询指定
范围
数据 - 语法:lrange key startIndex endIndex
- 索引从0开始,endIndex等于-1表示取到最后
lrange arr1 0 -1
lrange arr1 0 2
- 查询指定
索引
数据 - 语法:lindex key index
- 从前往后索引从0开始,从后往前索引从-1开始
lindex arr1 1
lindex arr1 -2
📝修改
- 语法:lset key index value
- index从0开始
lset arr1 1 dd
🧹删除
lpop
删除左边元素- 语法:lpop key
lpop arr1
rpop
删除右边元素- 语法:rpop key
rpop arr1
lrem
删除指定个数的指定元素- 语法:lrem key count value
首先添加测试数据
rpush arr4 11 22 11 33 11 44 11 55 11 66
- count > 0:从表头开始向表尾搜索,移除与
value
相等的元素,数量为 count
lrem arr4 1 11
- count < 0:从表尾开始向表头搜索,移除与
value
相等的元素,数量为 count 的绝对值
lrem arr4 -1 11
- count = 0:移除表中所有与
value
相等的值
lrem arr4 0 11
ltrim
按照索引剪切列表- 格式:ltrim key start end
ltrim arr4 1 3
Redis-List类型-其它操作
🐤追加数据
- 格式:lpush key value1, value2, ...
- 如果不存在就是创建,存在了就是往原有的基础上追加,左追加
lpush arr4 11 22
- 格式:rpush key value1, value2, ...
- 如果不存在就是创建,存在了就是往原有的基础上追加,右追加
rpush arr4 11 22
🐥插入数据
- 格式:linsert key before|after oldValue newValue
linsert arr4 before 44 66
linsert arr4 after 44 77
👦获取列表长度
- 格式:llen key
llen arr4
列表实现简单数据结构
- 栈结构(水桶)先进后出
- lpush + lpop
- 队列结构(水管)先进先出
- lpush + rpop
所以在企业开发中,如果需要先进后出
或者先进先出
的数据结构,我们就可以将这些数据存储到Redis的列表中
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具