文档章节

Redis(3-3):列表类型

shamgod_code
 shamgod_code
发布于 2017/04/14 22:20
字数 405
阅读 26
收藏 0

列表类型list可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。

列表类型内部使用双向链表实现,所以向列表两端添加元素的时间复杂度为O(1),获取越接近两端的元素速度就越快。

不过使用链表的代价就是通过索引访问元素比较慢。

这种数据结构使得列表类型能非常快速地完成关系数据库难以应付的场景:如社交网站的新鲜事,我们关心的只是最新的内容,使用列表类型存储,即使新鲜事的总数达到几千万,获取最新的100条数据也是极快的。同样因为在两端插入记录的时间复杂度是O(1),列表类型也适合用来记录日志,可以保证加入新日志的速度不会受到已有日志数量的影响。

一个列表类型键最多能容纳(2^32-1)个元素。

命令 举例 说明
LPUSH key value [value ... ] , RPUSH key value [value ... ] 向列表两端增加元素
LPOP key,RPOP key 从列表两端弹出元素
LLEN key 获取列表中元素的个数
LRANGE key start stop 获得列表片段
LREM key count value 删除列表中指定的值
LINDEX key index , LSET key index value 获得/设置指定索引的元素值
LTRIM key start end 只保留列表指定片段
LINSERT key BEFORE|AFTER pivot value 向列表中插入元素

 

© 著作权归作者所有

共有 人打赏支持
shamgod_code
粉丝 5
博文 82
码字总数 31063
作品 0
杭州
私信 提问
redis (五) 列表类型

{ 'numbers': [1, 2, 3, 4, 5, 6, 7,8] 'letters': ['a', 'b', 'c', 'd', 'e', 'f', 'g','h'] } 这就是列表类型,列表内的元素必须是字符串,不能数据类型嵌套了。 列表类型的所有操作就是对......

山下狮子
2014/06/18
0
0
Redis基础笔记(一)

Redis基础笔记 Redis基础笔记 事务 SORT 生存时间 任务队列 发布/订阅模式 Python中使用Redis 实际实例 管理 其他 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 简介 安装...

Airship
2016/01/28
15
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
Redis从入门到放弃 之 常用命令和基本数据类型操作

一、Redis通用命令 二、基本数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) 1、string字符串 2、hash(哈希) ...

李格尔楞
2017/11/01
0
0
深入了解一下Redis的内存模型!

一前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符...

Java高级架构
2018/05/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 升级中的一些常见问题

升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份。不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence。 在升级过程中的一...

honeymoose
今天
2
0
C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
今天
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
3
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部