文档章节

redis list 不同编码类型造成内存占用及运行效率的差别

苗永超
 苗永超
发布于 2015/03/30 23:24
字数 445
阅读 1079
收藏 10

1. 简介

总所周知,redis中的list有两种编码结构,ziplist和linkedlist。两种编码结构的切换由下面的配置信息决定:

以上两个配置是默认的配置。

针对以上的配置,当列表对象保存的所有字符串元素的长度都小于64字节,并且列表对象保存的元素数量小于512时,list使用ziplist编码;不能满足这两种情况就是用linkedlist编码。

ziplist的特点是节省内存,linkedlist是一个双向列表,特点就是插入速度快,但是占内存。


2. 实测

正式开始我今天主要想发表的东西,虽不是什么了不起的东西,但是是我认认真真测试出来的结果,留个纪念吧。

测试方式: 

a. 一个key,分别对其进行rpush、lrange、ltrim三种操作;

b. rpush数据为80W个整型,每插入10W条记录记录一次此时的平均插入速率;

c. 每隔10W条记录进行一次lrange,查看占用时间;            

d. 全部数据更新成功后,开始测试ltrim;

e. 分两种编码结构进行测试,作对比;

以下是测试结果:

表格不好粘贴,就直接截图了

关于ziplist和linkedlist的内存占用,80W的数据,ziplist占用内存不到5M,而linked占用内存为37M+,内存占用相差7倍多。


3. 测试机器配置(非专业介绍,凑合看吧):

cpu: 24核心 Intel(R) Xeon(R) CPU E5-2643 v2 @ 3.50GHz

内存:128G

系统: CentOS release 6.6 (Final)


© 著作权归作者所有

共有 人打赏支持
苗永超
粉丝 14
博文 57
码字总数 14075
作品 0
海淀
后端工程师
私信 提问
深入学习Redis(1):Redis内存模型

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

编程迷思
03/27
0
0
深入了解一下Redis的内存模型!

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

Java高级架构
05/31
0
0
可能是目前最详细的Redis内存模型及应用解读

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

编程迷思
07/16
0
0
redis内部数据结构深入浅出

最大感受,无论从设计还是源码,Redis都尽量做到简单,其中运用到的原理也通俗易懂。特别是源码,简洁易读,真正做到clean and clear, 这篇文章以unstable分支的源码为基准,先从大体上整理...

踏雪无痕SS
2017/06/10
0
0
redis的使用及感受

近期由于公司业务的发展Mysql写入成为了瓶颈,当然也有方案继续优化,例如分库分表、内存表等等,但成本较高,例如内存占用,聚合运算。。。 redis据说写入性能强悍,实测14w/s(list链表),后...

云秋意
2015/10/24
391
3

没有更多内容

加载失败,请刷新页面

加载更多

w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
1
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
2
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
2
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
3
0
大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部