存储list:

ArrayList使用数组方式

LinkedList使用双向链接方式

双向链接表中增加数据

双向链接表中删除数据

存储list常用命令

两端添加

两端弹出

扩展命令

lpush 方式添加

从左边开始添加

127.0.0.1:6379> lpush l1 a b c d

(integer) 4

127.0.0.1:6379> lpush l1 1 2 3 4

(integer) 8

lrange 获取指定方位的集合元素

从第1个开始 到倒数第一个 也就是最后一个 也就是 所有数据

127.0.0.1:6379> lrange l1 0 -1

1) "4"

2) "3"

3) "2"

4) "1"

5) "d"

6) "c"

7) "b"

8) "a"

获取从第1个到第6个集合元素

127.0.0.1:6379> lrange l1 0 6

1) "4"

2) "3"

3) "2"

4) "1"

5) "d"

6) "c"

7) "b"

rpush 从右端开始添加(一般人比较习惯这种方式)

127.0.0.1:6379> rpush l2 a b c d

(integer) 4

127.0.0.1:6379> rpush l2 1 2 3 4

(integer) 8

127.0.0.1:6379> lrange l2 0 -1

1) "a"

2) "b"

3) "c"

4) "d"

5) "1"

6) "2"

7) "3"

8) "4"

127.0.0.1:6379> lrange l2 0 6

1) "a"

2) "b"

3) "c"

4) "d"

5) "1"

6) "2"

7) "3"

lpop 左侧弹出集合元素

rpop 右侧弹出集合元素

127.0.0.1:6379> lrange l2 0 -1

1) "b"

2) "c"

3) "d"

4) "1"

5) "2"

6) "3"

7) "4"

127.0.0.1:6379> rpop l2

"4"

127.0.0.1:6379> lrange l2 0 -1

1) "b"

2) "c"

3) "d"

4) "1"

5) "2"

6) "3"

llen查看元素个数

127.0.0.1:6379> llen l2

(integer) 6

lpushx 集合头部插入元素

127.0.0.1:6379> lpushx l2 xx

(integer) 7

127.0.0.1:6379> lrange l2 0 -1

1) "xx"

2) "b"

3) "c"

4) "d"

5) "1"

6) "2"

7) "3"

rpushx 集合尾部插入元素

127.0.0.1:6379> rpushx l2 yy

(integer) 8

127.0.0.1:6379> lrange l2 0 -1

1) "xx"

2) "b"

3) "c"

4) "d"

5) "1"

6) "2"

7) "3"

8) "yy"

lpush集合头部插入多个元素

127.0.0.1:6379> lpush l2 a1 a2

(integer) 10

127.0.0.1:6379> lrange l2 0 -1

1) "a2"

2) "a1"

3) "xx"

4) "b"

5) "c"

6) "d"

7) "1"

8) "2"

9) "3"

10) "yy"

127.0.0.1:6379> rpush l2 a3 a4

(integer) 12

127.0.0.1:6379> lrange l2 0 -1

1) "a2"

2) "a1"

3) "xx"

4) "b"

5) "c"

6) "d"

7) "1"

8) "2"

9) "3"

10) "yy"

11) "a3"

12) "a4"

lrem 从指定方向删除指定个数的指定元素

先加点数据搞个新集合l3

127.0.0.1:6379> lpush l3 1 3 2 3 2 1 2 1 3

(integer) 9

127.0.0.1:6379> lrange l3 0 -1

1) "3"

2) "1"

3) "2"

4) "1"

5) "2"

6) "3"

7) "2"

8) "3"

9) "1"

从左边开始删除2个1

127.0.0.1:6379> lrem l3 2 1

(integer) 2

127.0.0.1:6379> lrange l3 0 -1

1) "3"

2) "2"

3) "2"

4) "3"

5) "2"

6) "3"

7) "1"

从右边开始删除2个3

127.0.0.1:6379> lrem l3 -2 3

(integer) 2

127.0.0.1:6379> lrange l3 0 -1

1) "3"

2) "2"

3) "2"

4) "2"

5) "1"

删除所有2

127.0.0.1:6379> lrem l3 0 2

(integer) 3

127.0.0.1:6379> lrange l3 0 -1

1) "3"

2) "1"

lset 设置集合指定索引的值

127.0.0.1:6379> lrange l1 0 -1

1) "4"

2) "3"

3) "2"

4) "1"

5) "d"

6) "c"

7) "b"

8) "a"

索引从0开始

127.0.0.1:6379> lset l1 3 xxxx

OK

127.0.0.1:6379> lrange l1 0 -1

1) "4"

2) "3"

3) "2"

4) "xxxx"

5) "d"

6) "c"

7) "b"

8) "a"

linsert 在集合里插入指定元素

在xxxx元素之前插入aa

127.0.0.1:6379> linsert l1 before xxxx aa

(integer) 9

127.0.0.1:6379> lrange l1 0 -1

1) "4"

2) "3"

3) "2"

4) "aa"

5) "xxxx"

6) "d"

7) "c"

8) "b"

9) "a"

在xxxx元素之后插入bb

127.0.0.1:6379> linsert l1 after xxxx bb

(integer) 10

127.0.0.1:6379> lrange l1 0 -1

1) "4"

2) "3"

3) "2"

4) "aa"

5) "xxxx"

6) "bb"

7) "d"

8) "c"

9) "b"

10) "a"

rpoplpush 把A集合尾部元素弹出并插入到B集合头部

127.0.0.1:6379> rpush l4 a b c

(integer) 3

127.0.0.1:6379> rpush l5 1 2 3

(integer) 3

127.0.0.1:6379> lrange l4 0 -1

1) "a"

2) "b"

3) "c"

127.0.0.1:6379> lrange l5 0 -1

1) "1"

2) "2"

3) "3"

127.0.0.1:6379> rpoplpush l4 l5

"c"

127.0.0.1:6379> lrange l4 0 -1

1) "a"

2) "b"

127.0.0.1:6379> lrange l5 0 -1

1) "c"

2) "1"

3) "2"

4) "3"

Redis的数据结构之List的更多相关文章

  1. Redis基本数据结构总结之STRING和LIST

    Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...

  2. Redis基本数据结构总结之SET、ZSET和HASH

    Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...

  3. Redis各种数据结构性能数据对比和性能优化实践

    很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. ...

  4. 聊一聊Redis的数据结构

    如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...

  5. Redis学习——数据结构介绍(四)

    一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...

  6. Redis常用数据结构

    Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...

  7. Redis的数据结构、通用操作及其特性

    Redis的数据结构 五种数据类型: 字符串(String).字符串列表(list).字符串集合(set).有序字符串集合(sorted set).哈希(hash) key定义的注意点: 不要过长,不 ...

  8. Redis学习笔记之Redis基本数据结构

    Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...

  9. 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘

    Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...

  10. Redis的数据结构

    Redis的数据结构 redis是一种高级的key-value的存储系统,其中value支持五种数据类型. 字符串(String) 哈希(hash) 字符串列表(list) 字符串集合(set) 有序 ...

随机推荐

  1. bootstrap-datepicker应用

    参考本人的github:https://github.com/gmqllf/Datepicker-for-Bootstrap (fork官方的) 一.使用datepicker for bootstra ...

  2. 14.翻译系列:从已经存在的数据库中生成上下文类和实体类【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/code-first-from-existing-database.aspx EF 6 ...

  3. Java基础(二)面向对象(上)

    面向对象基础知识 面向对象是相对面向过程而言的 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象 面向对象是基于面向过程的 面向对象的特征: 封 ...

  4. android studio: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution o

    今天在运行部署项目时logcat弹出下列错误: -- ::-/? E/Zygote: v2 -- ::-/? I/libpersona: KNOX_SDCARD checking this -- :: ...

  5. json、数组、html标签的修改删除

    存数组 var aa=[1,2,3]; var sStorage=window.sessionStorage; sStorage.aa=aa; console.log(sStorage.aa); // ...

  6. Excel公式与函数——每天学一个

    说明(2018-5-29 20:35:53): 1. 根据刘伟的视频讲解进行总结,网上讲Excel公式与函数的貌似就他讲的还不错.在他的微博里看到现在的照片胖了不少,不过还挺帅的,不再是以前那个小屌丝 ...

  7. MySQL 下载地址获取

    http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.26-winx64.msi 首先安装 mysql installer 安装器进行安装,之前会让你选 ...

  8. 2.静态AOP实现-装饰器模式

    通过装饰器模式实现在RegUser()方法本身业务前后加上一些自己的功能,如:BeforeProceed和AfterProceed,即不修改UserProcessor类又能增加新功能 定义1个用户接口 ...

  9. Adding ASP.NET MVC5 Identity Authentication to an existing project

    Configuring Identity to your existing project is not hard thing. You must install some NuGet package ...

  10. ABBYY PDF Transformer+功能概述

    ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...