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 查看所有的key方式
May 07 Redis
基于Redis过期事件实现订单超时取消
May 08 Redis
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
May 21 Redis
Redis集群的关闭与重启操作
Jul 07 Redis
Redis Cluster 集群搭建你会吗
Aug 04 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
分布式Redis Cluster集群搭建与Redis基本用法
Feb 24 Redis
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
Mar 16 Redis
redis击穿 雪崩 穿透超详细解决方案梳理
Mar 17 Redis
redis调用二维码时的不断刷新排查分析
Apr 01 Redis
redis复制有可能碰到的问题汇总
Apr 03 Redis
Redis特殊数据类型bitmap位图
Jun 01 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
php_xmlhttp 乱码问题解决方法
2009/08/07 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
JavaScript中exec函数用法实例分析
2015/06/08 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
javascript瀑布流式图片懒加载实例
2020/06/28 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
2019/06/06 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
python版百度语音识别功能
2019/07/09 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
奥斯汀独木舟和皮划艇:Austin Canoe & Kayak
2018/05/22 全球购物
企业晚会策划方案
2014/05/29 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
银行自荐信范文
2015/03/25 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
Python 如何安装Selenium
2021/05/06 Python
python数据处理之Pandas类型转换
2022/04/28 Python
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL