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 ...
随机推荐
- TensorFlow v2.0的基本张量操作
使用TensorFlow v2.0的基本张量操作 from __future__ import print_function import tensorflow as tf # 定义张量常量 a = ...
- 使用FME将CAD中块参照数据转换为shp数据
暴露出需要导出的字段值,首先在数据查看器中看看CAD中各个图层分别有哪些隐含的字段. CAD快参照中含有多个部分,需要将点按照原始编码聚合成一个点. 属性字段创建,并按照属性字段一一对应CAD中的字段 ...
- Jmeter 中 Bean Shell 之全局变量
1.新建测试计划>线程组 > http 请求 -登录 获取token , 可以参照我以前写的这篇博客 https://www.cnblogs.com/cyit/p/12632445.htm ...
- Mac下安装安装selenium与安装chromedriver安装
开发环境:MacOS,Python3.7 1. 安装selenium 可以使用pip安装(pip install selenium)或者使用pycharm进行安装下载 2. 运行如下代码: from ...
- 面试官:ThreadLocal的应用场景和注意事项有哪些?
前言 ThreadLocal主要有如下2个作用 保证线程安全 在线程级别传递变量 保证线程安全 最近一个小伙伴把项目中封装的日期工具类用在多线程环境下居然出了问题,来看看怎么回事吧 日期转换的一个工具 ...
- Google浏览器截取整个网页
~Ctrl+shift+i(开发者工具) ~Ctrl+shift+p ~输入full
- elasticsearch异常问题 discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
本文使用环境 centos7.x elasticsearch7.6.2 JDK1.8 错误:文件权限不足 [1]: max file descriptors [4096] for ...
- 7.Metasploit后渗透
Metasploit 高阶之后渗透 01信息收集 应用场景: 后渗透的第一步,更多地了解靶机信息,为后续攻击做准备. 02进程迁移 应用场景: 如果反弹的meterpreter会话是对方打开了一个你预 ...
- Java并发基础02. 传统线程技术中的定时器技术
传统线程技术中有个定时器,定时器的类是Timer,我们使用定时器的目的就是给它安排任务,让它在指定的时间完成任务.所以先来看一下Timer类中的方法(主要看常用的TimerTask()方法): 前面两 ...
- 解决POST乱码
在web.xml中添加字符过滤器 问题即可解决 <!--如何整合过滤器处理中文乱码问题?--> <filter> <filter-name>EncodingFilt ...