存储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. Mathematica 11.1.0 下载及注册流程

    新版本注册机: http://files.cnblogs.com/files/dabaopku/Mathematica_11.1.0_Keygen.exe.zip 类似于11.0, 在控制台运行, 比 ...

  2. Java Socket 通信实例 - 转载

    基于Tcp协议的简单Socket通信实例(JAVA)   好久没写博客了,前段时间忙于做项目,耽误了些时间,今天开始继续写起~ 今天来讲下关于Socket通信的简单应用,关于什么是Socket以及一些 ...

  3. 【谷歌浏览器】【谷歌地球】【Adobe 软件】离线安装包的下载地址

    因为某些原因?我们需要下载谷歌浏览器的离线安装版,找了好几次地址了,这次自己记录一下吧! 主要就是加两个参数,standalone 就是离线安装吧,platform 就是平台版本吧,哈~ 离线32位: ...

  4. 安全工具-Sparta

    Sparta是一个集端口扫描.网络扫描.服务探测以及暴力破解等多项功能于一身的工具,kali中已经预装了该工具,可直接使用. > 输入目标IP,开始扫描即可探测出开放的端口及服务 > 选中 ...

  5. mac中安装lua5.1.5

    lua有一个工具lua-releng( https://github.com/openresty/openresty-devel-utils/blob/master/lua-releng) 用来检测代 ...

  6. 【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其二)

    上一篇说到的嵌套Json带有斜杠的问题,如下图: 上一篇中用反射C#类的方法,在序列化Json阶段实现了去掉斜杠,现在还有一种相对更简单的方法,就是在反序列化阶段,读取Json时通过字符串的操作,把这 ...

  7. 【C语言】 重拾

    [C语言] 因为以前学过C语言,只不过太长时间不用,已经忘得差不多了… 所以这篇文章的性质是把C语言中一些对于现在的我不是很符合预期的知识点记录一下. ■ HelloWorld程序 HelloWorl ...

  8. IntelJ idea下lombok 不生效的问题(@Builder等注解不生效的问题)解决,lombok Plugin插件安装

    插件安装方式,在设置setting 中找到plugins.在检索框中检索lom,没有的话点击红框内的search in repositories. 点击install进行安装. 记得安装好了重启ide ...

  9. C_C++变量命名规则

    变量命名规则是为了增强代码的可读性和容易维护性.以下为C++必须遵守的变量命名规则: 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成. 第一个字母必须是字母或者下划线开头. 不 ...

  10. My google script which based on Google Sheet and Form

    My google script which based on Google Sheet and Form // get sheet data function getSpreadsheetData( ...