Redis的数据结构之List
存储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的更多相关文章
- Redis基本数据结构总结之STRING和LIST
Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...
- Redis基本数据结构总结之SET、ZSET和HASH
Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...
- Redis各种数据结构性能数据对比和性能优化实践
很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. ...
- 聊一聊Redis的数据结构
如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...
- Redis学习——数据结构介绍(四)
一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...
- Redis常用数据结构
Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...
- Redis的数据结构、通用操作及其特性
Redis的数据结构 五种数据类型: 字符串(String).字符串列表(list).字符串集合(set).有序字符串集合(sorted set).哈希(hash) key定义的注意点: 不要过长,不 ...
- Redis学习笔记之Redis基本数据结构
Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...
- 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘
Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...
- Redis的数据结构
Redis的数据结构 redis是一种高级的key-value的存储系统,其中value支持五种数据类型. 字符串(String) 哈希(hash) 字符串列表(list) 字符串集合(set) 有序 ...
随机推荐
- bootstrap-datepicker应用
参考本人的github:https://github.com/gmqllf/Datepicker-for-Bootstrap (fork官方的) 一.使用datepicker for bootstra ...
- 14.翻译系列:从已经存在的数据库中生成上下文类和实体类【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/code-first-from-existing-database.aspx EF 6 ...
- Java基础(二)面向对象(上)
面向对象基础知识 面向对象是相对面向过程而言的 面向对象和面向过程都是一种思想 面向过程强调的是功能行为 面向对象将功能封装进对象,强调具备了功能的对象 面向对象是基于面向过程的 面向对象的特征: 封 ...
- 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 -- :: ...
- json、数组、html标签的修改删除
存数组 var aa=[1,2,3]; var sStorage=window.sessionStorage; sStorage.aa=aa; console.log(sStorage.aa); // ...
- Excel公式与函数——每天学一个
说明(2018-5-29 20:35:53): 1. 根据刘伟的视频讲解进行总结,网上讲Excel公式与函数的貌似就他讲的还不错.在他的微博里看到现在的照片胖了不少,不过还挺帅的,不再是以前那个小屌丝 ...
- MySQL 下载地址获取
http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.26-winx64.msi 首先安装 mysql installer 安装器进行安装,之前会让你选 ...
- 2.静态AOP实现-装饰器模式
通过装饰器模式实现在RegUser()方法本身业务前后加上一些自己的功能,如:BeforeProceed和AfterProceed,即不修改UserProcessor类又能增加新功能 定义1个用户接口 ...
- 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 ...
- ABBYY PDF Transformer+功能概述
ABBYY PDF Transformer+是一个新的.全面的巧妙解决PDF文档的工具,它将泰比的光学字符识别(OCR)技术和Adobe®PDF技术完美结合,以确保实现便捷地处理任何类型的PDF文件, ...