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 ...
随机推荐
- linux pdftk
部分内容来源网络,如有版权问题,请联系删除: http://xuqin.blog.51cto.com/5183168/1117780, http://blog.sina.com.cn/s/blog ...
- CF 997A
You’ve got a string a1,a2,…,an, consisting of zeros and ones.Let’s call a sequence of consecutive el ...
- OpenCV-Python 图像金字塔 | 二十
目标 在本章中, 我们将学习图像金字塔 我们将使用图像金字塔创建一个新的水果"Orapple" 我们将看到以下功能:cv.pyrUp(),cv.pyrDown() 理论 通常,我们 ...
- PyTorch大更新!谷歌出手帮助开发,正式支持TensorBoard | 附5大开源项目
大家又少了一个用TensorFlow的理由. 在一年一度的开发者大会F8上,Facebook放出PyTorch的1.1版本,直指TensorFlow"腹地". 不仅宣布支持Tens ...
- 计算机视觉基本原理——RANSAC
公众号[视觉IMAX]第31篇原创文章 一 前言 对于上一篇文章——一分钟详解「本质矩阵」推导过程中,如何稳健地估计本质矩阵或者基本矩阵呢?正是这篇文章重点介绍的内容. 基本矩阵求解方法主要有: 1) ...
- HTTP下午茶 - 小白入门书
这本书十分精炼,非常适合零基础的小白. 资源介绍 首先,书籍是免费的! 英文原版书籍,作者是 Launch School,是一家教育网站,可以在线阅读: https://launchschool.co ...
- iOS 启动时间优化
在 WWDC 2016 上首次提到了关于 App 应用启动速度优化的话题:Session 406 Optimizing App Startup Time. 一.冷启动与热启动 热启动是,APP会恢复之 ...
- 怎么在三层架构中使用Quartz.Net开源项目(与数据库交互)
1.首先在项目中先创建一个控制台应用程序 2.然后右击项目中的[引用],可以[添加引用],也可以[管理NuGet程序包],作者使用的是[添加引用],添加本地应用.版本不同,所使用的方式不同.需要此版本 ...
- Linux下使用FastDFS
本文所有操作均在CentOS 7.x环境下进行. 1.1.单节点FastDFS 整个安装过程非常复杂,很容易出错,建议进行多次备份. 我们这里不打算安装多台虚拟机,因此会把tracker和storag ...
- JavaScript new 的时候到底发生了什么?
function Person(name) { this.name = name; } let liLei = new Person('lilei'); console.log(liLiei.name ...