Redis各种数据结构内存占用测试
启动时:(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各种数据结构内存占用测试的更多相关文章
- android应用内存占用测试(每隔一秒打印procrank的信息)
1.内存占用 对于智能手机而言,内存大小是固定的:因此,如果单个app的内存占用越小,手机上可以安装运行的app就越多:或者说app的内存占用越小,在手机上运行就会越流畅.所以说,内存占用的大小,也是 ...
- Map存储容量及内存占用测试
Integer a = 1; long start = 0; long end = 0; // 先垃圾回收 System.gc(); start = Runtime.getRuntime().free ...
- redis实战笔记(9)-第9章 降低内存占用
本章主要内容 1.短结构( short structure) 2.分片结构( shared structure) 3.打包存储二进制位和字节 本章将介绍3种非常有价值的降低Redis内存占用的 ...
- 选择合适Redis数据结构,减少80%的内存占用
redis作为目前最流行的nosql缓存数据库,凭借其优异的性能.丰富的数据结构已成为大部分场景下首选的缓存工具. 由于redis是一个纯内存的数据库,在存放大量数据时,内存的占用将会非常可观.那么在 ...
- 降低Redis内存占用
1.降低redis内存占用的优点 1.有助于减少创建快照和加载快照所用的时间 2.提升载入AOF文件和重写AOF文件时的效率 3.缩短从服务器进行同步所需的时间 4.无需添加额外的硬件就可以让redi ...
- C#中使用Redis不同数据结构的内存占有量的疑问和对比测试
最近在大量使用Redis来进行数据统计前的清洗和整理,每天的数据量超5千万+,在开发过程中,数据量小,着重注意业务规则的处理,在上线基本测试后发现了大量的问题,其中之一就是Redis存储数据过多,内存 ...
- 美团在Redis上踩过的一些坑-3.redis内存占用飙升(转载)
一.现象: redis-cluster某个分片内存飙升,明显比其他分片高很多,而且持续增长.并且主从的内存使用量并不一致. 二.分析可能原因: 1. redis-cluster的bu ...
- Redis主节点内存占用过高
0. 基本情况 Redis采用集群模式,560个主节点,主从比为1:1,单台机器上为16个节点.info memory观察到主节点A单个Redis内存used_memory_rss_human为9.2 ...
- [转帖]美团在Redis上踩过的一些坑-3.redis内存占用飙升
美团在Redis上踩过的一些坑-3.redis内存占用飙升 博客分类: 运维 redis redismonitor内存突增client listinfo 转载请注明出处哈:http://car ...
随机推荐
- weblogic管理2 - 创建并启动一个managed server
创建一个managed server. 1. 进入网页console管理页面,如:http://10.100.25.14:7001/console , 先点击->服务器 (红色标记框) ...
- numpy下的flatten()函数用法
flatten是numpy.ndarray.flatten的一个函数,其官方文档是这样描述的: ndarray.flatten(order='C') Return a copy of the arra ...
- SQL 语句中的With(index())
SELECT m.Member_No, m.FirstName, m.Region_No FROM dbo.Member AS m WITH (INDEX (0)) 强制使用找到的第一个索引. 其 ...
- NET软件开发中的事务大全
各种事务很全啊. 原文地址:http://www.cnblogs.com/ltp/archive/2009/06/17/1505304.html 1 .NET开发中的事务处理大比拼 之 S ...
- 配置android模拟器
配置android模拟器 1. 将android-sdk-windows.rar和eclipse_android.rar解压到D盘根目标下 直接将两个压缩文件解压到当前分区(D盘)即可 2. 配置环境 ...
- mysql-mmm高可用配置说明
http://www.cnblogs.com/gomysql/p/3671896.html 实战配置 http://www.cnblogs.com/chenmh/p/5744227.html 半同步配 ...
- Hibernate常用配置文件详解
本文转载自:http://blog.csdn.net/csh624366188/article/details/7578939 初学hibernate的童鞋,刚开应该都有这种感觉,hibernate的 ...
- eclipse注解——作者,创建时间,版本
总结: /** * @author liangyadong * @date ${date} ${time} * @version 1.0 */
- [MVC] 深入浅出Spring MVC
[MVC] 深入浅出Spring MVC 转:http://4925054.blog.51cto.com/4915054/1176855 Spring MVC主要包括以下要点: 1:由Dispatch ...
- jQ的toggle()方法示例
定义和用法toggle() 方法切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法$(selector).toggle(speed,callback,swi ...