文档章节

10. Redis列表(List)

d
 double大宝
发布于 2017/02/23 00:51
字数 580
阅读 2
收藏 0

 lpush/rpush/lrange
 lpop/rpop
 lindex,按照索引下标获得元素(从上到下)
 llen
 lrem key 删N个value
 ltrim key 开始index 结束index,截取指定范围的值后再赋值给key
 rpoplpush 源列表 目的列表
 lset key index value
 linsert key  before/after 值1 值2
 

127.0.0.1:6379> LPUSH list01 1 2 3 4 5
(integer) 5
127.0.0.1:6379> LRANGE list01 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> RPUSH list02 1 2 3 4 5
(integer) 5
127.0.0.1:6379> 
127.0.0.1:6379> LRANGE list02 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
127.0.0.1:6379> LPOP list01
"5"
127.0.0.1:6379> LPOP list02
"1"
127.0.0.1:6379> RPOP list01
"1"
127.0.0.1:6379> RPOP list02
"5"
127.0.0.1:6379> LRANGE list01 0 -1
1) "4"
2) "3"
3) "2"
127.0.0.1:6379> LRANGE list02 0 -1
1) "2"
2) "3"
3) "4"
127.0.0.1:6379> LINDEX list01 3
(nil)
127.0.0.1:6379> LINDEX list01 2
"2"
127.0.0.1:6379> LINDEX list02 2
"4"
127.0.0.1:6379> LLEN list01
(integer) 3
127.0.0.1:6379> RPUSH list03 1 1 1 2 2 2 3 3 3 4 4 5 6 7
(integer) 14
127.0.0.1:6379> LREM list03 2 3
(integer) 2
127.0.0.1:6379> LRANGE list03 0 -1
 1) "1"
 2) "1"
 3) "1"
 4) "2"
 5) "2"
 6) "2"
 7) "3"
 8) "4"
 9) "4"
10) "5"
11) "6"
12) "7"
127.0.0.1:6379> DEL list01
(integer) 1
127.0.0.1:6379> LPUSH list01 1 2 3 4 5 6 7 8
(integer) 8
127.0.0.1:6379> LTRIM list 0 4
OK
127.0.0.1:6379> LRANGE list01 0 -1
1) "8"
2) "7"
3) "6"
4) "5"
5) "4"
6) "3"
7) "2"
8) "1"
127.0.0.1:6379> LTRIM list01 0 4
OK
127.0.0.1:6379> LRANGE list01 0 -1
1) "8"
2) "7"
3) "6"
4) "5"
5) "4"
127.0.0.1:6379> LTRIM list01 3 5
OK
127.0.0.1:6379> LRANGE list01 0 -1
1) "5"
2) "4"
127.0.0.1:6379> LRANGE list02 0 -1
1) "2"
2) "3"
3) "4"
127.0.0.1:6379> RPOPLPUSH list01 list02
"4"
127.0.0.1:6379> LRANGE list01 0 -1
1) "5"
127.0.0.1:6379> LRANGE list02 0 -1
1) "4"
2) "2"
3) "3"
4) "4"
127.0.0.1:6379> 
127.0.0.1:6379> LSET list02 1 x
OK
127.0.0.1:6379> LRANGE list02 0 -1
1) "4"
2) "x"
3) "3"
4) "4"
127.0.0.1:6379> LINSERT list02 before x java
(integer) 5
127.0.0.1:6379> LRANGE list02 0 -1
1) "4"
2) "java"
3) "x"
4) "3"
5) "4"
127.0.0.1:6379> LINSERT list02 before x orange
(integer) 6
127.0.0.1:6379> LRANGE list02 0 -1
1) "4"
2) "java"
3) "orange"
4) "x"
5) "3"
6) "4"
127.0.0.1:6379> LINSERT list02 after x mysql
(integer) 7
127.0.0.1:6379> LRANGE list02 0 -1
1) "4"
2) "java"
3) "orange"
4) "x"
5) "mysql"
6) "3"
7) "4"
 

它是一个字符串链表,left、right都可以插入添加;
如果键不存在,创建新的链表;
如果键已存在,新增内容;
如果值全移除,对应的键也就消失了。
链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

© 著作权归作者所有

d
粉丝 2
博文 86
码字总数 43479
作品 0
贵港
私信 提问
redis基本类型 redis的键

最好坚持一种模式。例如:”object-type:id:field”就是个不错的注意,像这样”user:1000:password”。我喜欢对多单词的字段名中加上一个点,就像这样:”comment:1234:reply.to”。 虽然字符...

xpttxsok
2016/05/16
28
0
python-redis连接管理

Redis 数据类型 Redis支持五种数据类型: string(字符串) hash(哈希) list(列表) set(集合) zset(sorted set:有序集合) string: key:name value:runoob 128.127.0.0.1:6379> SET n...

jiekegz
2018/05/22
0
0
python操作redis

一、字符串操作 redis中的string在内存中都是按照一个key对应一个value来存储的。 1)set(name, value, ex=None, px=None, nx=False, xx=False) ex,过期时间(秒) px,过期时间(毫秒) nx...

huangzp168
2017/11/24
0
0
Redis不同数据类型的的数据结构实现

原文:Redis不同数据类型的的数据结构实现 我们知道Redis支持五种数据类型, 分别是字符串、哈希表(map)、列表(list)、集合(set)和有序集合,和Java的集合框架类似,不同数据类型的数据...

杰克.陈
2017/12/19
0
0
(3)redis队列功能

Redis队列功能介绍 List 常用命令: Blpop删除,并获得该列表中的第一元素,或阻塞,直到有一个可用 Brpop删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用 Brpoplpush Lindex获...

Airship
2016/01/26
167
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部