Redis的List链表类型命令
List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。
链表类似于数组,元素有索引值,从左->右依次为:第0 1 2 3 4...个元素;可以按索引(下标)值进行读取(lindex)、更新(lset)链表的元素值,如下图:

| List链表类型 | |
| 从左端压入元素 | >lpush mylist1 hello 从左压入一个值 >lpush mylist1 zhangsan lisi |
| 从右端压入元素 | >rpush mylist2 a b c 3 4 e 从右一次压入多个元素 返回:返回压入元素后的元素总数 |
| 在特定位置前或后插入1个元素 | >linsert mylist1 before h xyz 对mylist1链表,在“h”的前面(左边)插入“xyz” >linsert mylist1 after f qq 返回:返回压入元素后的元素总数 |
| 按索引顺序重置元素值 | >lset mylist2 0 PHP 将mylist2链表,第0个元素(首个元素)值重置为“PHP” 返回:成功返回OK 注:索引下标类似数组,从左->右依次为:第0 1 2 3 4...个元素;每次重置一个元素 |
| 删除指定值的元素 | >lrem mylist1 2 PPP n>0表示从 左->右 顺序,删除最先遇到2个值为“PPP”的元素 >lrem mylist1 -2 PPP >lrem mylist2 0 PPP 返回:返回实际删除的元素个数 |
| 保留指定范围内的数据 (范围外的删除) |
>ltrim mylist2 1 -2 保留n1=1 n2=-2范围内的值 注:第一个偏移从首0计数(需n1>=0),第二个偏移正负均可(首、尾偏移值均为-1); |
| 从左侧弹出(删除)一个元素 | >lpop mylist1 从左侧弹出1个元素 返回:返回被弹出的元素值 |
| 从右侧弹出(删除)一个元素 | >rpop mylist1 从右侧弹出1个元素 返回:返回被弹出的元素值 |
| 从第一个链表右侧弹出一个元素 并将此元素压入到第二个链表的左侧 |
>rpoplpush mylist1 mylist2 从mylist1右弹出一个元素,并压入到mylist2左侧 (mylist1 -> mylist2) 返回:返回被弹出压入的元素 |
| 部分获取list链表元素值 | >lrange mylist1 0 -1 获取全部元素 >lrange mylist1 2 4 部分获取元素 注:第一个偏移从首0计数(需n1>=0),第二个偏移正负均可(首、尾偏移值均为-1); |
| 按索引顺序获取元素值 | >lindex mylist1 0 获取第0个元素 返回:返回获取的元素值 注:索引下标类似数组,从左->右依次为:第0 1 2 3 4...个元素; |
| 获取链表长度(元素总数) | >llen mylist1 查看mylist1链表长度 返回:返回元素总个数 |
Redis的List链表类型命令的更多相关文章
- Redis之无序集合类型命令
Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找 ...
- Redis之哈希类型命令
Hash(哈希) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿 ...
- Redis之字符串类型命令
String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 ...
- Redis数据结构及相应的命令
Redis可以存储键(key)与5种不同类型值(value)之间的映射,5中不同类型的值分别为字符串(string),列表(list),散列(hash),集合(set)和有序集合(sorted set ...
- redis(2)---redis基本数据类型及常见命令
Redis的魅力 缓存大致可以分为两类,一种是应用内缓存,比如Map(简单的数据结构),以及EH Cache(Java第三方库),另一种就是缓存组件,比如Memached,Redis:Redis(re ...
- 尚硅谷redis学习4-数据类型
redis的数据类型包括String,Hash(类似于JAVA里的map),List,Set,Zset(sorted Set) String(字符串) string是redis最基本的类型,你可以理解 ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- 【Redis】基本数据类型及命令操作(超详细)
一.String 1.1 概述 1.2 相关命令列表 1.3 命令示例 二.List 2.1 概述: 2.2 相关命令列表: 2.3 命令示例: 2.4 链表结构的小技巧: 三.Hashes 3.1 ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
随机推荐
- DDD实战成绩管理---需求分析
需求的分析我们采用四色模型.从用户故事中找出MI,然后围绕MI找出其中的role,ppt,des.本次先对两个优先级最高的用户故事进行四色模型建模. 1.用户故事一建模:作为教务处老师,我要建立教学班 ...
- 四、利用EnterpriseFrameWork快速开发基于WCF为中间件的三层结构系统
回<[开源]EnterpriseFrameWork框架系列文章索引> EnterpriseFrameWork框架实例源代码下载: 实例下载 本章内容与上一张<利用Enterprise ...
- loadrunner之做压力测试要做的准备
前提B/S架构 1.要有个备库和主库保存一致 到时候做压力测试的时候,要断开主库连接到备库.进行测试.以免主库出现垃圾数据.2.节点 判断单节点能承受多大的压力,如200万的用户账号,10万的在线用户 ...
- php常用的几个预定义变量
__FILE__:返回所在路径文件名和文件名称 __DIR__:返回文件所在的完整目录 __LINE__:返回当前文件代码的行号 __CLASS__:返回当前类名 __FUNCTION__:返回当前方 ...
- CentOS 下 Java 的下载、安装、配置
CentOS 下 Java 的下载.安装.配置 系统: CentOS 7 x86_64 Java 版本: 1.8.0_171 本文将 Java 目录放在 /usr/local/java 文件夹下,读者 ...
- MYSQL主从复制配置(整理)
MYSQL主从原理及过程 原理 Mysql的 Replication 是一个异步的复制过程(mysql5.1.7以上版本分为异步复制和半同步两种模式),从一个 Mysql instace(我们称之为 ...
- 如何理解IPD+CMMI+Scrum一体化研发管理解决方案之CMMI篇
如何快速响应市场的变化,如何推出更有竞争力的产品,如何在竞争中脱颖而出,是国内研发企业普遍面临的核心问题,为了解决这些问题,越来越多的企业开始重视创新与研发管理,加强研发过程的规范化,集成产品开发(I ...
- 20181120-4 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 01
此作业要求参见https://edu.cnblogs.com/campus/nenu/2018fall/homework/2409 版本控制地址 https://git.coding.net/lg ...
- “Hello World!”团队第六周的第五次会议
今天是我们团队“Hello World!”团队第六周召开的第五次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 八.代码 一 ...
- OOP 1.5 类和对象的基本概念与用法1
1.定义 面向对象的基本特点:抽象.封装.继承.多态 面向对象程序设计方法:将某类客观事物的共同特点归纳出来,形成一个数据结构 抽象:将事物所能进行的行为归纳出来,形成一个个函数,这些函数可以用来操作 ...