redis: List列表类型(四)
list设置值(头部):lpush list one
list设置值(尾部):**rpush ** list one
list获取值:lrange list 0 -1
list获取指定范围的值:lrange list 0 1
127.0.0.1:6379> lpush list one #头部插入一个值
(integer) 1
127.0.0.1:6379> lpush list two #头部插入一个值
(integer) 2
127.0.0.1:6379> lpush list three #头部插入一个值
(integer) 3
127.0.0.1:6379> lrange list 0 -1 #获取所有值
1) "three"
2) "two"
3) "one"
127.0.0.1:6379> lrange list 0 1 #获取0 1的值
1) "three"
2) "two"
127.0.0.1:6379> rpush list four #尾部插入一个值
(integer) 4
127.0.0.1:6379> lrange list 0 -1 #查看刚才插入的值
1) "three"
2) "two"
3) "one"
4) "four"
list移除一个值(头部):lpop list
list移除一个值(尾部):rpop list
127.0.0.1:6379> lrange list 0 -1 #查看list元素
1) "three"
2) "two"
3) "one"
4) "four"
127.0.0.1:6379> lpop list #移除头部元素
"three"
127.0.0.1:6379> lrange list 0 -1 #第一个元素被移除
1) "two"
2) "one"
3) "four"
127.0.0.1:6379> rpop list #移除尾部元素
"four"
127.0.0.1:6379> lrange list 0 -1 #最后一个元素被移除
1) "two"
2) "one"
list移除指定的值(几个):lrem list 1 one
list移除指定的值(所有):lrem list 0 one
127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "one"
3) "one"
4) "one"
5) "one"
6) "one"
7) "two"
8) "three"
127.0.0.1:6379> lrem list 1 one #移除一个one元素
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "one"
3) "one"
4) "one"
5) "one"
6) "two"
7) "three"
127.0.0.1:6379> lrem list 0 one #移除所有的one元素
(integer) 5
127.0.0.1:6379> lrange list 0 -1
1) "two"
2) "three"
通过下标获取值:lindex list 0
127.0.0.1:6379> lrange list 0 -1 #查看元素
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> lindex list 0 #获取下标为0的元素
"one"
127.0.0.1:6379> lindex list 2 #获取下标为2的元素
"three"
查看list长度:llen list
127.0.0.1:6379> lrange list 0 -1
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> llen list #查看长度
(integer) 3
修剪list:ltrim list 0 2
127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "three"
3) "two"
4) "one"
127.0.0.1:6379> ltrim list 0 2 #只保留0 1 2元素,list实际上已经改变了
OK
127.0.0.1:6379> lrange list 0 -1
1) "four"
2) "three"
3) "two"
移除最后一个元素并添加到一个新的list:rpoplpush mylist otherlist
127.0.0.1:6379> lrange mylist 0 -1
1) "one"
2) "two"
3) "three"
127.0.0.1:6379> rpoplpush mylist otherlist #移除mylist的最后一个元素并添加到otherlist
"three"
127.0.0.1:6379> lrange mylist 0 -1 #mylist已经移除了最后一个元素
1) "one"
2) "two"
127.0.0.1:6379> lrange otherlist 0 -1 #otherlist添加了一个元素
1) "three"
更新一个值(list必须要存在,下标元素必须要存在):lset mylist 0 one
127.0.0.1:6379> lset mylist 0 one #如果list不存在会报错
(error) ERR no such key
127.0.0.1:6379> lpush mylist one #创建mylist
(integer) 1
127.0.0.1:6379> lpush mylist two
(integer) 2
127.0.0.1:6379> lrange mylist 0 -1 #查看mylist元素
1) "two"
2) "one"
127.0.0.1:6379> lset mylist 0 heihei #更新下标为0的元素值
OK
127.0.0.1:6379> lrange mylist 0 -1 #修改成功
1) "heihei"
2) "one"
127.0.0.1:6379> lset mylist 3 haha #更新不存在的下标元素 失败
(error) ERR index out of range
插入一个值(在某个元素前面):linsert mylist before "world" "new"
插入一个值(在某个元素后面):linsert mylist after"world" "new"
127.0.0.1:6379> lrange mylist 0 -1
1) "hello"
2) "world"
127.0.0.1:6379> linsert mylist before "world" "new" #在wolrd前面插入new
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "hello"
2) "new"
3) "world"
127.0.0.1:6379> linsert mylist after "world" "old" #在wolrd后面插入old
(integer) 4
127.0.0.1:6379> lrange mylist 0 -1
1) "hello"
2) "new"
3) "world"
4) "old"
redis: List列表类型(四)的更多相关文章
- redis数据类型-列表类型
列表类型 列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段. 列表类型内部是使用双向链表(double linked list)实现的,所以向 ...
- Redis之列表类型命令
Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967 ...
- redis之(六)redis的列表类型的命令
[一]向列表两端添加元素 -->命令:LPUSH key value [value ...] -->向列表的左侧添加元素,返回值表示增加元素后列表的长度 -->命令:RPUSH ke ...
- redis:list列表类型的操作
1. list列表类型的操作 1.1. lpush/rpush key value [value ...] 链表的头部(左侧)或尾部(右侧)插入值 语法:lpush key value [value ...
- Redis散列表类型
散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他的数据类型. 一个散列类型键可以包含至多2^32 -1个字段. 命令 赋值 HSE ...
- Redis常用命令入门3:列表类型
列表类型 列表类型也是一个我们很长要用到的一个类型.比如我们发博客,要用到博客列表.如果没有列表我们就只能遍历键来获取所有文章或一部分文章了,这个语法是keys,但是这个命令需要遍历数据库中的所有键, ...
- redis之(四)redis的字符串类型的命令
[一]获得符合规则的键名列表 -->命令 keys [pattern] -->keys命令需要遍历Redis中所有的键,当键的数量比较多会影响性能,生产环境不建议用 -->pat ...
- Redis从基础命令到实战之列表类型(List)
经过上一篇基于Redis散列类型的改造后,实战练习中的商品管理已经具备了增加.修改整体.修改部分属性和分页查询功能,但仍然不支持删除商品的功能.这是因为商品总数是以一个自增数字记录的,且关联了新商品k ...
- redis 的使用 ( list列表类型操作)
list 数据类型 列表类型 list 类型是一个双向操作 从链表的头部或者尾部添加删除元素 list 既可以用作栈 也可以用作队列 list 链表的类型应用场合: 获取最新的 10 个用户的信息 s ...
- Redis自学笔记:3.4入门-列表类型
3.4列表类型 3.4.1介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者 获得列表的某一片段. 优点:内部使用的是双向链表,所以向列表两端添加元素的时间复杂度为O(1 ...
随机推荐
- Jmeter4.0接口测试之案例实战(七)
在前面的知识体系中介绍了Jmeter的基本应用,下来通过具体的案例来看Jmeter在接口测试中的具体案例实战部分. HTTP是基于应用层的协议,底层的网络传输层它不需要去关心,同时它是一个无状态的协议 ...
- 解析Tomcat构成及运行原理
本文的知识点分为: Server.Service.Connector.Container四大组件之间的关系和联系,以及他们的主要功能点: Tomcat执行的整体架构,请求是如何被一步步处理的: Eng ...
- Spring的IOC容器学习笔记
(一)Spring的IOC学习 在applicationContext.xml来配置bean,通过该接口,在主程序中,可以指定初始化的对象,不需要在进行赋值操作,直接在xml里配置好. 接下来分享的是 ...
- 解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题
DateTime类型数据格式问题 问题 在使用ASP.NET MVC 在写项目的时候发现,返回给前端的JSON数据,日期类型是 Date(121454578784541) 的格式,需要前端来转换一下才 ...
- Android | 教你如何用代码一键实现银行卡绑定
前言 小编前面几期文章分别给大家介绍了用代码实现微笑抓拍.证件照DIY.拍照翻译的功能开发(链接见文章末尾),本次小编给大家带来的是用代码一键实现银行卡识别与绑定功能. 银行卡识别的应用场景 ...
- XSS编码问题的个人总结
XSS也太太太难了,主要也是因为自己没花时间集中. 文章脉络:根据我粗浅的理解,从开始学习XSS到现在,从一开始的见框就插到现在去学构造.编码,首先需要的是能看懂一些payload,然后再去深入理解. ...
- PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分)
PTA数据结构与算法题目集(中文) 7-36 社交网络图中结点的“重要性”计算 (30 分) 7-36 社交网络图中结点的“重要性”计算 (30 分) 在社交网络中,个人或单位(结点)之间通过某 ...
- 【STM32项目笔记】STM32CubeMX+Keil+Proteus联合实现LED闪烁
摘要 利用STM32CubeMx配置STM32芯片的功能,然后将配置后的内容生成代码,并导出成可以使用Keil打开编辑的文件,在Keil中添加控制代码后,下载到Proteus仿真中,使用仿真观察代码执 ...
- Pytest系列(9) - 参数化@pytest.mark.parametrize
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest允许在多个级别启 ...
- 配置附加权限和LDAP
配置附加权限和LDAP 补充:调整root的权限为rwx(读,写,执行) 步骤:采用数值形式将目录/root的权限调整为rwx------ 1)查看原来的权限 [root@svr7~]#ls -ld ...