Redis Hash 的 HSET、HGET、HMSET、HMGET 性能测试

【压测环境】

操作系统: 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

好的,我可以为您解答关于Jedis Hash相关操作的问题。 首先,hset命令用于向Redis哈希表中添加一个字段和值,如果字段已经存在,则更新该字段的值。其语法如下: ``` hset key field value ``` 例如,以下命令将在名为myhash的哈希表中将字段name设置为Tom: ``` hset myhash name Tom ``` hget命令用于从Redis哈希表中获取指定字段的值。其语法如下: ``` hget key field ``` 例如,以下命令将从名为myhash的哈希表中获取字段name的值: ``` hget myhash name ``` hmset命令用于向Redis哈希表中添加多个字段和值。其语法如下: ``` hmset key field1 value1 field2 value2 ... ``` 例如,以下命令将在名为myhash的哈希表中将字段name设置为Tom,字段age设置为20: ``` hmset myhash name Tom age 20 ``` hmget命令用于从Redis哈希表中获取多个指定字段的值。其语法如下: ``` hmget key field1 field2 ... ``` 例如,以下命令将从名为myhash的哈希表中获取字段name和age的值: ``` hmget myhash name age ``` hgetall命令用于从Redis哈希表中获取所有字段和值。其语法如下: ``` hgetall key ``` 例如,以下命令将从名为myhash的哈希表中获取所有字段和值: ``` hgetall myhash ``` hkeys命令用于从Redis哈希表中获取所有字段。其语法如下: ``` hkeys key ``` 例如,以下命令将从名为myhash的哈希表中获取所有字段: ``` hkeys myhash ``` hincrby命令用于将Redis哈希表中指定字段的值增加指定的整数值。其语法如下: ``` hincrby key field increment ``` 例如,以下命令将在名为myhash的哈希表中将字段age的值增加10: ``` hincrby myhash age 10 ``` hsetnx命令用于向Redis哈希表中添加一个字段和值,仅在该字段不存在时。其语法如下: ``` hsetnx key field value ``` 例如,以下命令将在名为myhash的哈希表中将字段name设置为Tom,仅在该字段不存在时: ``` hsetnx myhash name Tom ``` 希望这些解答可以帮到您。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简放视野

深度思考,简放视野。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值