Redis基本数据类型List常用操作命令


Posted in Redis onJune 01, 2022

Redis数据类型List操作

在redis里,可以把list巧妙的运用成 栈、队列、阻塞队列等。

一、push 插入元素

1. lpush,在头部插入

将一个值或者多个值,插入到列表的头部。

lpush list onelpush list twolpush list three

Redis基本数据类型List常用操作命令

使用lpush,这里的l可以看成left,也就是在左边插入,所以目前list是这样的[three, two, one]

2. rpush,在尾部插入

接下来,使用rpush,在右边也就是在列表尾部插入元素。

rpush list right1 right2

此时,list是这样的[three, two, one, right1, right2]。用lrange list 0 -1来获取下:

Redis基本数据类型List常用操作命令

二、range 通过区间获取元素

可以想象成python里的range(),通过传入开始和结束的下标,获取元素。

lrange list 1 4

Redis基本数据类型List常用操作命令

三、pop 移除元素

既然上面可以左右的添加操作,那么移除自然也有左右之分了。

移除操作,返回的是被移除的元素。

1. lpop 左边移除

lpop list

Redis基本数据类型List常用操作命令

2. rpop 右边移除

rpop list

Redis基本数据类型List常用操作命令

四、lindex 通过下标获取元素

lindex list 1

Redis基本数据类型List常用操作命令

五、llen 获取list长度

返回列表的长度。

llen list

Redis基本数据类型List常用操作命令

六、lrem 移除指定元素

可以指定移除元素,并且指定数量。

lrem list 2 yi222

现在list里有3个yi222,我要移除2个。

Redis基本数据类型List常用操作命令

七、ltrim 修剪

通过ltrim只保留指定的部分,去掉其他的部分,被截取的list发生改变。

ltrim list 1 4

这里下标从1到4的都保留,其他都被去掉了。

Redis基本数据类型List常用操作命令

八、组合命令 rpoplpush 移除并添加

这是组合命令,移除list最后一个元素,并且将它添加到另一个list。

rpoplpush list list2

这里list是原列表,list2是目标列表,目标列表不存在会去创建。

Redis基本数据类型List常用操作命令

九、exists 判断key 是否存在

exists list

存在返回1,不存在就返回0。

Redis基本数据类型List常用操作命令

十、lset,设置指定下标的值

lset list 1 test

当索引参数超出范围,或对一个空列表进行 LSET 时,返回一个错误。

Redis基本数据类型List常用操作命令

十一、linsert,指定位置之前/之后插入值

之前

linsert list before test before_test

这是在元素test之前,插入元素before_test

Redis基本数据类型List常用操作命令

之后

linsert list after test after_test

这是在元素test之后,插入元素after_test

Redis基本数据类型List常用操作命令

十二、小结

从上述list的操作中,可以观察出它的一些特点:

它实际上是一个链表,节点的左右都方便插入。如果key不存在,会创建新的链表。如果key存在,就新增元素。如果移除了所有的值,就是空链表,也就是不存在。在两边插入或者改动值,效率最高。中间的元素操作,效率相对低。

list在实际中可以灵活运用,比如队列,栈,都能用list来实现。

以上就是Redis数据类型List常用操作命令的详细内容,更多关于Redis数据类型List操作命令的资料请关注三水点靠木其它相关文章!


Tags in this post...

Redis 相关文章推荐
redis限流的实际应用
Apr 24 Redis
Redis 配置文件重要属性的具体使用
May 20 Redis
解析高可用Redis服务架构分析与搭建方案
Jun 20 Redis
Redis集群的关闭与重启操作
Jul 07 Redis
关于SpringBoot 使用 Redis 分布式锁解决并发问题
Nov 17 Redis
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
Feb 12 Redis
Redis命令处理过程源码解析
Feb 12 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
Redis安装使用RedisJSON模块的方法
Mar 23 Redis
Redis实现订单过期删除的方法步骤
Jun 05 Redis
使用Redis实现分布式锁的方法
Jun 16 Redis
Redis配置外网可访问(redis远程连接不上)的方法
Dec 24 Redis
Redis基本数据类型Set常用操作命令
Jun 01 #Redis
Redis基本数据类型哈希Hash常用操作命令
Jun 01 #Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 #Redis
Redis特殊数据类型Geospatial地理空间
Jun 01 #Redis
Redis特殊数据类型HyperLogLog基数统计算法讲解
Jun 01 #Redis
Redis特殊数据类型bitmap位图
Jun 01 #Redis
浅谈Redis的事件驱动模型
May 30 #Redis
You might like
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
Javascript数组中push方法用法分析
2016/10/31 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
JavaScript函数式编程(Functional Programming)箭头函数(Arrow functions)用法分析
2019/05/22 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
关于angular浏览器兼容性问题的解决方案
2020/07/26 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
[02:08]2018年度CS GO枪械皮肤设计大赛优秀作者-完美盛典
2018/12/16 DOTA
Python THREADING模块中的JOIN()方法深入理解
2015/02/18 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
python为什么要安装到c盘
2020/07/20 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
Sneaker Studio法国:购买运动鞋
2018/06/08 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
2014年教育培训工作总结
2014/12/08 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
毕业赠语大全
2015/06/23 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
Golang生成Excel文档的方法步骤
2021/06/09 Golang