文档章节

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
18
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
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
96
0

没有更多内容

加载失败,请刷新页面

加载更多

AutoCAD_系统变量

https://baike.sogou.com/v53561514.htm?fromTitle=cad%E5%8F%98%E9%87%8F lunits 设置线性单位。1 科学 2 小数 3 工程 4 建筑 5 分数 6 windesk...

一个小妞
5分钟前
0
0
点播转码相关常见问题及排查方式

概述: 点播转码目前涉及用户上传自动触发转码、通过SubmitTranscodeJobs接口触发转码等方式,会出现用户转码失败的情况,这当中有用户源片的问题、也有用户设置转码参数的原因以及相关资源性...

阿里云云栖社区
6分钟前
1
0
图片base64预览及上传PHP处理

1、前端代码 <div id="img"/> <input type="file" id="img-select"/> <input type='button' id='submit'/> var newUrl; function imgPreview() {//将图片转成base64,实现预览效果 var file......

葬-花
8分钟前
0
0
Iris框架

1、安装iris: $ go get -u github.com/kataras/iris 2、golang iris web项目热重启 # 安装rizla包 $ go get -u github.com/kataras/rizla # 热重启方式启动iris项目 $ rizla main.go......

Liens
16分钟前
3
0
初探sentinel实践思考

简单说下, sentinel的优势: 友好的控制面板,支持实时监控 多种限流。支持QPS限流,线程数限流,多种限流策略,如:直接拒绝,匀速模式(漏斗),冷启动(如设置限制1000,延迟10秒,那第一...

爱吃大肉包
17分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部