【压测环境】

操作系统: Ubuntu 14.04 LTS

Linux版本: 3.13.0-24-generic x86_64 GNU/Linux

处理器: 4核的 AMD Athlon(tm) II X4 640 Processor @ 800MHz

机器内存:共 8GB,已使用 6GB,未使用 2GB,交换区 未使用

Redis版本:2.8.17

Redis内存:500MB

【压测结果】

压测原生的 Redis 性能(非Java客户端),结果如下:

hset 和 hget 都能在 4ms 之内完成,且每秒并发处理量都在 7.5万个请求之上;

hmset 和 hmget 一次操作两个数据,都能在 5ms 之内完成,且每秒并发处理量都在 7.1万个请求之上。

【参考资料】

Benchmarks​: See how fast Redis is in different platforms. (本文档很有价值,建议详细阅读!!!)

【详细压测数据】

bert@MS-7641-14102010:/usr/apps/redis/bin$ ./redis-benchmark -r 500000 -n 500000 hset myhash rand_int rand_int rand_int

====== hset myhash rand_int rand_int rand_int ======

500000 requests completed in 6.66 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.80% <= 1 milliseconds

99.96% <= 2 milliseconds

99.99% <= 3 milliseconds

100.00% <= 3 milliseconds

75108.91 requests per second

bert@MS-7641-14102010:/usr/apps/redis/bin$ ./redis-benchmark -r 500000 -n 500000 hget myhash rand_int rand_int

====== hget myhash rand_int rand_int ======

500000 requests completed in 6.62 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.88% <= 1 milliseconds

99.99% <= 3 milliseconds

100.00% <= 4 milliseconds

100.00% <= 5 milliseconds

100.00% <= 5 milliseconds

75471.70 requests per second

bert@MS-7641-14102010:/usr/apps/redis/bin$ ./redis-benchmark -r 500000 -n 500000 hmset myhash rand_int rand_int rand_int rand_int

====== hmset myhash rand_int rand_int rand_int rand_int ======

500000 requests completed in 7.04 seconds

50 parallel clients

3 bytes payload

keep alive: 1

97.18% <= 1 milliseconds

99.89% <= 2 milliseconds

99.96% <= 3 milliseconds

99.99% <= 5 milliseconds

100.00% <= 5 milliseconds

71063.11 requests per second

bert@MS-7641-14102010:/usr/apps/redis/bin$ ./redis-benchmark -r 500000 -n 500000 hmget myhash rand_int rand_int rand_int

====== hmget myhash rand_int rand_int rand_int ======

500000 requests completed in 6.82 seconds

50 parallel clients

3 bytes payload

keep alive: 1

99.70% <= 1 milliseconds

99.97% <= 2 milliseconds

99.98% <= 3 milliseconds

99.99% <= 4 milliseconds

100.00% <= 4 milliseconds

73335.29 requests per second

Redis Hash 的 HSET、HGET、HMSET、HMGET 性能测试的更多相关文章

  1. Redis(五):hash/hset/hget 命令源码解析

    Redis作为nosql数据库,kv string型数据的支持是最基础的,但是如果仅有kv的操作,也不至于有redis的成功.(memcache就是个例子) Redis除了string, 还有hash ...

  2. redis hash数据类型

    我们可以将Redis中的Hashes类型看成具有String Key和String Value的map容器.所以该类型非常适合于存储值对象的信息.如Username.Password和Age等.如果H ...

  3. redis hash map

    redis hash的使用详见文章:http://www.miaoyueyue.com/archives/235.html hash操作命令如下: hset(key, field, value):向名 ...

  4. ***Redis hash是一个string类型的field和value的映射表.它的添加、删除操作都是O(1)(平均)。hash特别适合用于存储对象

    http://redis.readthedocs.org/en/latest/hash/hset.html HSET HSET key field value   (存一个对象的时候key存) 将哈希 ...

  5. Redis hash数据类型操作

    Redis hash是一个string类型的field和value的映射表.一个key可对应多个field,一个field对应一个value.将一个对象存储 为hash类型,较于每个字段都存储成str ...

  6. Redis hash 类型及操作

    原文:http://blog.sina.com.cn/s/blog_5f044a4d0102v01k.html Redis hash是一个string类型的field和value的映射表.它的添加.删 ...

  7. Redis学习第三课:Redis Hash类型及操作

    Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适用于存储对象.相较于对象的每个字段存在单个string类型.将一个对象 ...

  8. Python --Redis Hash操作

    一.Redis Hash操作 Redis 数据库hash数据类型是一个string类型的key和value的映射表,适用于存储对象.Redis 中每个 hash 可以存储 232 - 1 键值对(40 ...

  9. Redis hash(哈希)

    Redis hash可储存多个键值对,适合储存对象的属性. 1.hset key fieldName fileValue    //hset即hash set,set这里是设置的意思.往hash中添加 ...

随机推荐

  1. Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决

    Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决 引言: 在Java中 ...

  2. LA3276

    费用流 这种棋盘模型大概都是网络流吧 首先我们知道棋子之间不会影响到达目标的步数,那么就好做了,枚举终点,然后就是最小权匹配了,因为就是寻找总和最小,然后费用流就行了. #include<bit ...

  3. 关于我们ajax异步请求的方法与知识

      做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school ...

  4. tomcat启动时出现以前删除的项目,导致无法启动

    com.sun.faces.config.ConfigureListener contextInitialized 解决: 进入到你自己的tomcat安装目录:C:\Program Files\Apa ...

  5. 富文本wangEditor的批量激活

    最近项目中使用了wangEditor这个轻量级的富文本框,由于需求是一个页面中会有多个富文本框同时激活,所以写了个批量激活的jquery方法,分享一下 // 激活富文本框 var wangEditor ...

  6. Java数组!!!你知多少?

    这是一篇网上搜到的文章,对数组进行了充分的说明.楼主懂了数组的俩种初始化方式:静态初始化和动态初始化方式.(贴过来备用哦) 下面我带大家一起加深一下对Java数组的认识: 1.理解数组 数组也是一种数 ...

  7. SqlSever2005 一千万条以上记录分页数据库优化经验总结【索引优化 + 代码优化】

    对普通开发人员来说经常能接触到上千万条数据优化的机会也不是很多,这里还是要感谢公司提供了这样的一个环境,而且公司让我来做优化工作.当数据库中的记录不超过10万条时,很难分辨出开发人员的水平有多高,当数 ...

  8. Django--form组件cookie/session

    Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_ ...

  9. vue http请求 vue自带的 vue-resource

    vue-resource安装 npm install vue-resource --save-dev 配置 在main.js中引入插件 //Resource 为自定义名 vue-resource 为插 ...

  10. Hbuider sass配置 webstorm scss配置

    --no-cache %FileName% ../css/%FileBaseName%.css   sass编译后保存到css目录下 webstorm scss配置 C:\Ruby22-x64\bin ...