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 12 Redis
浅谈Redis的几个过期策略
May 27 Redis
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
Redis Cluster集群动态扩容的实现
Jul 15 Redis
关于redisson缓存序列化几枚大坑说明
Aug 04 Redis
Springboot/Springcloud项目集成redis进行存取的过程解析
Dec 04 Redis
redis击穿 雪崩 穿透超详细解决方案梳理
Mar 17 Redis
使用Redis实现点赞取消点赞的详细代码
Mar 20 Redis
redis 解决库存并发问题实现数量控制
Apr 08 Redis
解决 redis 无法远程连接
May 15 Redis
浅谈Redis的事件驱动模型
May 30 Redis
Redis基本数据类型List常用操作命令
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
php木马webshell扫描器代码
2012/01/25 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
javascript 面向对象继承
2009/11/26 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
2016/08/25 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python实现类继承实例
2014/07/04 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
python通过opencv实现批量剪切图片
2017/11/13 Python
Python实现八皇后问题示例代码
2018/12/09 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
python数据分析:关键字提取方式
2020/02/24 Python
基于python实现查询ip地址来源
2020/06/02 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
Python内置函数及功能简介汇总
2020/10/13 Python
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
英国旅行箱包和行李箱购物网站:Travel Luggage & Cabin Bags
2019/08/26 全球购物
遗产继承公证书
2014/04/09 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
职工年度考核评语
2014/12/31 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书
美丽人生观后感
2015/06/03 职场文书
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫