启动时:(redis为空)

插入数据量都为100W(100W个key或者list中100W个值,或者1000个key,每个key中1000个值)

String

Key value

# Memory

used_memory:121763808

used_memory_human:116.12M

used_memory_rss:124956672

used_memory_peak:121762584

used_memory_peak_human:116.12M

used_memory_lua:31744

mem_fragmentation_ratio:1.03

mem_allocator:jemalloc-3.2.0

List

Key value如下

# Memory

used_memory:81375240

used_memory_human:77.61M

used_memory_rss:84156416

used_memory_peak:121762496

used_memory_peak_human:116.12M

used_memory_lua:31744

mem_fragmentation_ratio:1.03

mem_allocator:jemalloc-3.2.0

Set

Key value

# Memory

used_memory:89764296

used_memory_human:85.61M

used_memory_rss:94650368

used_memory_peak:153269416

used_memory_peak_human:146.17M

used_memory_lua:31744

mem_fragmentation_ratio:1.05

mem_allocator:jemalloc-3.2.0

ZSET

# Memory

used_memory:143119144

used_memory_human:136.49M

used_memory_rss:146919424

used_memory_peak:165802136

used_memory_peak_human:158.12M

used_memory_lua:31744

mem_fragmentation_ratio:1.03

mem_allocator:jemalloc-3.2.0

Hash

# Memory

used_memory:137763776

used_memory_human:131.38M

used_memory_rss:157798400

used_memory_peak:183714248

used_memory_peak_human:175.20M

used_memory_lua:31744

mem_fragmentation_ratio:1.15

mem_allocator:jemalloc-3.2.0

设置:

##ziplist中允许的条目个数

hash-max-ziplist-entries 512

##ziplist中每个条目(K-V)的V允许的最大字节数

hash-max-ziplist-value 64

##如果达到阀值,则重构为hashtable

# Memory

used_memory:21946472

used_memory_human:20.93M

used_memory_rss:25464832

used_memory_peak:183714248

used_memory_peak_human:175.20M

used_memory_lua:31744

mem_fragmentation_ratio:1.16

mem_allocator:jemalloc-3.2.0

结论:100W数据在key和value都在10Byte左右时,占用空间100M左右,若使用Hash的压缩列表特性,内存占用减少到1/5.

Redis各种数据结构内存占用测试的更多相关文章

  1. android应用内存占用测试(每隔一秒打印procrank的信息)

    1.内存占用 对于智能手机而言,内存大小是固定的:因此,如果单个app的内存占用越小,手机上可以安装运行的app就越多:或者说app的内存占用越小,在手机上运行就会越流畅.所以说,内存占用的大小,也是 ...

  2. Map存储容量及内存占用测试

    Integer a = 1; long start = 0; long end = 0; // 先垃圾回收 System.gc(); start = Runtime.getRuntime().free ...

  3. redis实战笔记(9)-第9章 降低内存占用

    本章主要内容   1.短结构( short structure) 2.分片结构( shared structure) 3.打包存储二进制位和字节   本章将介绍3种非常有价值的降低Redis内存占用的 ...

  4. 选择合适Redis数据结构,减少80%的内存占用

    redis作为目前最流行的nosql缓存数据库,凭借其优异的性能.丰富的数据结构已成为大部分场景下首选的缓存工具. 由于redis是一个纯内存的数据库,在存放大量数据时,内存的占用将会非常可观.那么在 ...

  5. 降低Redis内存占用

    1.降低redis内存占用的优点 1.有助于减少创建快照和加载快照所用的时间 2.提升载入AOF文件和重写AOF文件时的效率 3.缩短从服务器进行同步所需的时间 4.无需添加额外的硬件就可以让redi ...

  6. C#中使用Redis不同数据结构的内存占有量的疑问和对比测试

    最近在大量使用Redis来进行数据统计前的清洗和整理,每天的数据量超5千万+,在开发过程中,数据量小,着重注意业务规则的处理,在上线基本测试后发现了大量的问题,其中之一就是Redis存储数据过多,内存 ...

  7. 美团在Redis上踩过的一些坑-3.redis内存占用飙升(转载)

     一.现象:     redis-cluster某个分片内存飙升,明显比其他分片高很多,而且持续增长.并且主从的内存使用量并不一致.   二.分析可能原因:  1.  redis-cluster的bu ...

  8. Redis主节点内存占用过高

    0. 基本情况 Redis采用集群模式,560个主节点,主从比为1:1,单台机器上为16个节点.info memory观察到主节点A单个Redis内存used_memory_rss_human为9.2 ...

  9. [转帖]美团在Redis上踩过的一些坑-3.redis内存占用飙升

    美团在Redis上踩过的一些坑-3.redis内存占用飙升 博客分类: 运维 redis redismonitor内存突增client listinfo     转载请注明出处哈:http://car ...

随机推荐

  1. 【转】win7 uac关闭

    方法1: 原文网址:http://jingyan.baidu.com/article/c275f6bae2650ce33d756795.html 首先点击开始,并在输入框中输入“MSCONFIG”,打 ...

  2. (转)TensorFlow 入门

        TensorFlow 入门 本文转自:http://www.jianshu.com/p/6766fbcd43b9 字数3303 阅读904 评论3 喜欢5 CS224d-Day 2: 在 Da ...

  3. line-hieght与vertical-align的区别与联系

    7.3 line-height 行高指的是文本行的基线间的距离,但是文本之间的空白距离不仅仅是行高决定的, 同时也受字号的影响. 7.3.1 语 法 line-height属性的具体定义列表如下: 语 ...

  4. Java 编程实践

    创建一个54个元素的整数数组,并将其元素值依次赋值为:1~54,用于表示一副牌的54张.再创建一个12个元素的整数数组,用于表示某玩家手中的牌,然后从前一数组中随机抽取12个元素赋值给该数组.打印后一 ...

  5. 下载word文档

    来源:http://www.cnblogs.com/damonlan/archive/2012/04/28/2473525.html 作者:浪迹天涯 protected void GridView1_ ...

  6. javascript 停止事件冒泡以及阻止默认事件冒泡

    停止事件冒泡 function stopBubble(e) { // 如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) { // ...

  7. Python文件处理之文件写入方式与写缓存(三)

    Python的open的写入方式有: write(str):将str写入文件 writelines(sequence of strings):写多行到文件,参数为可迭代对象 首先来看下writelin ...

  8. 使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins)

    使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins) Note 这一章节的内容是基于 Scott Gonzalez 一篇博客 Building ...

  9. [Hibernate] - Study 1

    1)解压Hibernate,在eclipse中导入jar包,其中lib\required里的jar包是必需包括在里头的.这里用的是sql server,所以要导入sqljdbc4.jar 2)在src ...

  10. 【linux】chmod命令详细用法

    功能说明: 变更文件或目录的权限 u:User,即文件或目录的拥有者. g:Group,即文件或目录的所属群组. o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围. a:Al ...