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
对mylist1链表,在“f”的后边(右边)插入“qq”

返回:返回压入元素后的元素总数
注:每次只能插入1个元素,“前左 后右”

按索引顺序重置元素值 >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
n<0表示从 左<-右 顺序,删除最先遇到2个值为“PPP”的元素

>lrem mylist2 0 PPP
n=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链表类型命令的更多相关文章

  1. Redis之无序集合类型命令

    Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找 ...

  2. Redis之哈希类型命令

    Hash(哈希) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿 ...

  3. Redis之字符串类型命令

    String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 ...

  4. Redis数据结构及相应的命令

    Redis可以存储键(key)与5种不同类型值(value)之间的映射,5中不同类型的值分别为字符串(string),列表(list),散列(hash),集合(set)和有序集合(sorted set ...

  5. redis(2)---redis基本数据类型及常见命令

    Redis的魅力 缓存大致可以分为两类,一种是应用内缓存,比如Map(简单的数据结构),以及EH Cache(Java第三方库),另一种就是缓存组件,比如Memached,Redis:Redis(re ...

  6. 尚硅谷redis学习4-数据类型

    redis的数据类型包括String,Hash(类似于JAVA里的map),List,Set,Zset(sorted Set) String(字符串) string是redis最基本的类型,你可以理解 ...

  7. Redis的数据类型及其常用命令

    快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...

  8. 【Redis】基本数据类型及命令操作(超详细)

    一.String 1.1 概述 1.2 相关命令列表 1.3 命令示例 二.List 2.1 概述: 2.2 相关命令列表: 2.3 命令示例: 2.4 链表结构的小技巧: 三.Hashes 3.1 ...

  9. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

随机推荐

  1. html学习第一天

    由于之后想做个网站,所以web前端的也要学习一下. 昨天看了一下html,今天做一下记录. 首先是安装工具,用文本编辑器有点麻烦,我选择的是强大的 Dreamweaver CS6,不过大家喜欢文本编辑 ...

  2. javaweb(二十)——JavaBean总结

    一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...

  3. 用Micro:bit做浇灌系统

    利用Micro:bit结合[土壤湿度感测棒]做一个简单的浇灌系统 一.测试土壤湿度感测棒 •材料:土壤湿度感测棒 (万能的淘宝上可以找到) •连接:将[土壤湿度感测棒]的一端接P0.另一端接GND 简 ...

  4. MySQL数据库之单双表查询

    单表查询 先创建表 #创建表 create table employee( id int not null unique auto_increment, name varchar(20) not nu ...

  5. Http协议工作特点和工作原理笔记

    工作特点: (1)B/S结构(Browser/Server,浏览器/服务器模式) (2)无状态 (3)简单快速.可使用超文本传输协议.灵活运行传输各种类型 工作原理: 客户端发送请求浏览器 -> ...

  6. 08-base镜像

    base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建. 其他镜像可以之为基础进行扩展. 所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ub ...

  7. mysql 数据库优化之执行计划(explain)简析

    数据库优化是一个比较宽泛的概念,涵盖范围较广.大的层面涉及分布式主从.分库.分表等:小的层面包括连接池使用.复杂查询与简单查询的选择及是否在应用中做数据整合等:具体到sql语句执行效率则需调整相应查询 ...

  8. js-jQuery对象与dom对象相互转换(转载)

    核心提示:jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,一般情况下,如S(’#id’ ...

  9. Web全景图的原理及实现

    全景图的基本原理 全景图是一种广角图.通过全景播放器可以让观看者身临其境地进入到全景图所记录的场景中去.比如像是这个.这种看起来很高大上的效果其实背后的原理并不复杂. 通常标准的全景图是一张2:1的图 ...

  10. 20181113-3 Beta阶段贡献分配规则

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2382 在新成员加入后,我们经过商讨,决定沿用alpha阶段贡献分分配规则 ...