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结构存储该对象

100

存储量 使用内存(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实践

时间: 2024-10-01 06:27:39

redis之Hash存储与String存储内存消耗对照的相关文章

redis之Hash存储与String存储内存消耗对比

存储对象User String存储方式: SET media:1155315 939 GET media:1155315 > 939 String结构存储该对象 存储量 使用内存(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 0.05 4487 1934.59 21732 0.05        

一个 -100.01 的double 在内存中怎么存储的. 一个中文String 在内存中占多少直接 utf-8 / GBK

一.-100.01 的double 在内存中怎么存储的 double双精度数据类型存储格式IEEE 双精度格式为8字节64位,由三个字段组成:52 位小数 f : 11 位偏置指数 e :以及 1 位符号 s.这些字段连续存储在两个 32 位字中 二.一个中文String 在内存中占多少直接 utf-8 / GBK [腾讯实习生问到这个问题,当时还天真的回答unicode字符集和16位,哎...] GBK:1个ASCII码占1个字节,而1个汉字编码占2个字节. UTF:ASCII对应的字符在UT

Redis String存储的操作方法

通过上篇No SQL Redis安装,我们的Redis服务就已经跑起来来了,接下来我们来进行String的操作, [[email protected] ~]# netstat -tunlp| grep redis tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      13135/redis-server   tcp        0      0 :::6379       

Redis系列-存储篇string主要操作命令

Redis系列-存储篇string主要操作命令 通过上两篇的介绍,我们的redis服务器基本跑起来.db都具有最基本的CRUD功能,我们沿着这个脉络,开始学习redis丰富的数据结构之旅,当然先从最简单且常用的string开始. 1.新增 a)set 语法:set key value 解释:把值value赋给key,如果key不存在,新增:否则,更新 [[email protected] ~]# redis-cli redis 127.0.0.1:6379> set user.1.name zh

Redis 笔记与总结2 String 类型和 Hash 类型

Linux 版本信息: cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息) CentOS release 6.6 (Final) (一)String 类型 [定义]string 是最简单的类型,你可以理解成与 Memcached 是一模一样的类型,一个 key 对应一个 value,其上支持的操作与 Memcached 的操作类似.但它的功能更丰富. string 类型是二进制安全的.意思是 redis 的 string 可

redis 数据操作命令汇总(string hash list)

1.string     字符串型 set name  zhangsan   #  设置name(key) 为zhangsan(value) get name              #获取key的值 exists name     #判断name是否存在 del  name    #删除键值 name type name   #获取name的类型 incr sum  #如果键 sum 不存在  则创建 初始值为 1   若存在  则加一  如果不是整数型 则报错 incrby sum 12

Magento2使用Redis进行页面缓存或会话存储。

1.Redis是一个可选的后端缓存解决方案,不过magento2默认使用的是Zend_Cache_Backend_File 2.Zend_Cache_Backend_File的问题 core_cache_tag表不断增长. 如果Magento实例具有多个网站和具有大型目录的网络商店,则该表可在不到一天内增长到1500万条记录. 插入到core_cache_tag会导致MySQL服务器的问题,包括性能降低. 3.为什么使用Redis Redis也可以用于PHP会话存储,使得可以使用Redis完全替

Android内存解析(二)— 详解内存,内部存储和外部存储

总述 觉得十分有必要搞清楚内存,内部存储和外部存储的区别,还有我们在开发中真正将数据存在了手机的哪儿. 先提一个问题:手机设置的应用管理中,每个App下都有清除数据和清除缓存,清除的分别是哪里的数据? 一   内存,内部存储和外部存储 1. 可对Android手机存储空间做如下划分: 整个存储空间分为内部存储和外部存储两部分,内部存储中又包含RAM和ROM等部分. 2. 具体概念区分 内部存储,即InternalStorage,也常说内置存储卡,这是手机内置的存储空间,出厂时就被确定,是手机的一

二:redis 的hash类型相关操作

=====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash特别适合对应存储对象,相较于将对象的每个字段存成单个string类型 将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象 0:hset *如果 key(就是hash表) 不存在,一个新的哈希表被创建并进行 HSET 操作 设置hash field为指定值,如果key不存在,则先创建