redis之Hash存储与String存储内存消耗对照
存储对象User
String存储方式:
SET media:1155315 939
GET media:1155315
> 939
String结构存储该对象
User243 243600
| 存储量 | 使用内存(KB) | 使用时间(毫秒) | 使用cpu |
|---|---|---|---|
| 100 | 30.72 | 2983 | |
| 100 | 30.72 | 1224 | |
| 100 | 40.96 | 2638 | |
| 100 | 40.96 | 1543 | |
| 100 | 40.96 | 3335 |
| 4487 | 1934.62 | 21760(21.76秒) | 0.05 |
| 4487 | 1934.59 | 21732(21.732秒) | 0.05 |
| 1000000 | 84.042MB | 70.672分(单线程) |
String结构存储该对象
| 存储量 | 使用内存(KB) | 使用时间(秒) | 使用cpu |
| 100 | 30.72 | 0.2983 | |
| 100 | 30.72 | 0.1224 | |
| 100 | 40.96 | 0.2638 | |
| 100 | 40.96 | 0.1543 | |
| 100 | 40.96 | 0.3335 | |
| 4487 | 1934.62 | 21.76 | |
| 4487 | 1934.62 | 21.732 | |
| 1000000 | 84.042MB | 70.672(分钟) |
Hash结构存储该对象
| 存储量 | 使用内存(KB) | 使用时间(秒) | 使用cpu |
| 100 | 367.76 | 0.454 | |
| 100 | 37.37 | 0.458 | |
| 50.50 | 0.461 | ||
| 100 | 40.44 | 0.467 | |
| 100 | 35.50 | 0.489 | |
| 4487 | 1805.1 | 21.729 | |
| 4487 | 1844.23 | 21.712 | |
| 4487 | 1844.23 | 21.778 | |
| 1000000 | 68.70MB |
HSET "mediabucket:1155" "1155315" "939"
HGET "mediabucket:1155" "1155315"
> "939"
| 存储量 | 使用内存(KB) | 使用时间(毫秒) | 使用cpu |
|---|---|---|---|
| 100 | 367.76 | 454 | |
| 100 | 37.37 | 458 | |
| 100 | 50.50 | 461 | |
| 100 | 40.44 | 467 | |
| 100 | 35.50 | 489 |
| 4487 | 1805.1 | 21729 | 0.06 |
| 4487 | 1844.23 | 21712 | 0.05 |
| 4487 | 1844.23 | 21778 |
| 1000000 | 0 | 68.70MB | |
Hash结构继续优化
类似
HSET "1155" "315" "939"
HGET "1155" "315"
> "939"
| 存储量 | 使用内存(KB) | 使用时间(毫秒) | 使用cpu |
|---|---|---|---|
| 100 | 367.76 | 454 | |
| 100 | 37.37 | 458 | |
| 100 | 50.50 | 461 | |
| 100 | 40.44 | 467 | |
| 100 | 35.50 | 489 |
| 4487 | 1803.29 | 21879 | 0.06 |
| 4487 | 1842.43 | 21931 | 0.05 |
參考文章:
http://www.searchdatabase.com.cn/showcontent_54724.htm
节约内存:Instagram的Redis实践
redis之Hash存储与String存储内存消耗对照的更多相关文章
- StackExchange.Redis 之 hash 类型示例
StackExchange.Redis 的组件封装示例网上有很多,自行百度搜索即可. 这里只演示如何使用Hash类型操作数据: // 在 hash 中存入或修改一个值 并设置order_hashkey ...
- redis内存消耗详解
Redis所有的数据都存在内存中,相对于廉价的硬盘,内存资源还是比较昂贵的,因此如何高效利用redis内存变得非常重要. 内存消耗分析 管理内存的原理和方法 内存优化技巧 一.内存消耗 理解redis ...
- 一文了解 Redis 内存监控和内存消耗
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多.所以,监控 Redis 的内存消耗并了解 Redis 内存模型对高效并长期稳定使用 Redis ...
- ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象
http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value (存一个对象的时候key存) 将哈希 ...
- Redis学习03——存储字符串(String)
--------------------- 作者:愤怒的小明 来源:CSDN 原文:https://blog.csdn.net/qiwenmingshiwo/article/details/78118 ...
- 直接在安装了redis的Linux机器上操作redis数据存储类型--String类型
一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...
- 一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK
一.-100.01 的double 在内存中怎么存储的 double双精度数据类型存储格式IEEE 双精度格式为8字节64位,由三个字段组成:52 位小数 f : 11 位偏置指数 e :以及 1 位 ...
- redis和ehcache的区别,存储方式(各属于内存还是外存)
ehcache属于内存存储,redis的缓存属于内存存储,redis的持久文件属于外存存储: redis是通过socket访问到缓存服务,效率比ecache低,比数据库要快很多,处理集群和分布式缓存方 ...
- Redis系列-存储篇string主要操作命令
Redis系列-存储篇string主要操作命令 通过上两篇的介绍,我们的redis服务器基本跑起来.db都具有最基本的CRUD功能,我们沿着这个脉络,开始学习redis丰富的数据结构之旅,当然先从最简 ...
随机推荐
- 如何对HTMLTestRunner 进行输出print 进行修改
在 HTMLTestRunner 模块中,在运行代码后,在输入的html页面值出现了特别简单的一个页面,那么现在如何将HTML页面中输出的更多print 在 HTMLTestRunner.py文件中查 ...
- 使用javac编译java文件
过程中遇到的几个问题记录如下: 1.java -version正常显示java版本,但是javac却显示[不是内部外部命令] 原因:JAVA_HOME设置成了用户环境变量,Path里用%JAVA_HO ...
- POJ 3083 BFS+DFS 40行
题意:给你一个迷宫. 先输出当左转优先的时候走的路程长度,再输出当右转优先时走的路程长度,最后输出从起点到终点的最短路程长度. 嗯嗯 奴哥活跃气氛的题.随便写了写.. 此题 知道了思路以后就是水题了. ...
- itext 生成doc文档 小结(自己备忘)
1.引入maven <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</ ...
- Laravel5.1学习笔记4 控制器
HTTP 控制器 简介 基础控制器 控制器中间件 RESTful 资源控制器 隐式控制器 依赖注入和控制器 路由缓存 简介 除了在单一的 routes.php 文件中定义所有的请求处理逻辑之外,你可能 ...
- ★Java语法(一)——————————标识符
1.定义:用来标识类名.变量名.方法名.数组名.文件名的有效字符序列: 2.命名规则:a 由字母.数字._(下划线)和$(美元符号)组成 b 数字不能作为第一个字符 c 不能是Java中的关键字和保留 ...
- C语言笔记(二)
注释 编译器会用空格代替代码中原来的注释,并先于预处理指令执行/*…*/ 这种形式的注释不能嵌套只要斜杠(/)和星号(*)之间没有空格,都会被当作注释的开始.例如这样:y = x/*p; \ 是一个接 ...
- mqtt-client回调方法简介
mqtt-client回调方法简介 毫无疑问Callback方式是最复杂的一种,但是其也是能够提供更好的服务,因此有必要好好研究,下面就是对使用回调方式的简单介绍: 一.在使用回调方式前,先通过MQT ...
- (转)PostGIS+QGIS+GeoServer+OpenLayers实现数据的存储、服务的发布以及地图的显示
http://blog.csdn.net/gisshixisheng/article/details/41575833 标题比较长,主要呢是实现以下几点: 1.将shp数据导入到PostGIS中: 2 ...
- wx:for
.JSPage({ data: { input_data: [ { id: 1, unique: "unique1" }, { id: 2, unique: "uniqu ...