我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Redis get vs. mget Benchmark

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Redis get vs. mget Benchmark

Redis get vs. mget Benchmark

Redis get vs. mget Benchmark

0. Background

Scripts

#!/bin/bash

key="testkey"
value="testvalue"

int=0
while (($int <= 1024)); do
    echo -e $key$int $value
    redis-cli set $key$int $value
    let "int++"
done
#!/bin/bash

int=0
keys=""

while (($int < 64)); do
    keys="$keys",""testkey$int""
    let "int++"
done

redis-benchmark -n 100000 script load "redis.call("mget"$keys)"

System Info

[p1gd0g@p1gd0g-pc ~]$ screenfetch 

 ██████████████████  ████████     p1gd0g@p1gd0g-pc
 ██████████████████  ████████     OS: Manjaro 19.0.2 Kyria
 ██████████████████  ████████     Kernel: x86_64 Linux 5.4.31-1-MANJARO
 ██████████████████  ████████     Uptime: 1h 1m
 ████████            ████████     Packages: 1224
 ████████  ████████  ████████     Shell: bash
 ████████  ████████  ████████     Resolution: 1920x1080
 ████████  ████████  ████████     DE: GNOME 3.36.1
 ████████  ████████  ████████     WM: Mutter
 ████████  ████████  ████████     WM Theme: Matcha-sea
 ████████  ████████  ████████     GTK Theme: Matcha-sea [GTK2/3]
 ████████  ████████  ████████     Icon Theme: Papirus-Dark-Maia
 ████████  ████████  ████████     Font: Noto Sans 11
 ████████  ████████  ████████     Disk: 41G / 473G (10%)
                                  CPU: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx @ 8x 2.1GHz
                                  GPU: AMD RAVEN (DRM 3.35.0, 5.4.31-1-MANJARO, LLVM 9.0.1)
                                  RAM: 2237MiB / 6956MiB

Redis version

Redis server v=5.0.8 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=b2bf869b5247fdeb

1. get vs. mget

redis-benchmark -n 100000 script load "redis.call("get", "testkey0")"
====== script load redis.call("get", "testkey0") ======
  100000 requests completed in 0.65 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.98% <= 1 milliseconds
100.00% <= 1 milliseconds
152905.20 requests per second
redis-benchmark -n 100000 script load "redis.call("mget", "testkey0")"
====== script load redis.call("mget", "testkey0") ======
  100000 requests completed in 0.66 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

99.99% <= 1 milliseconds
100.00% <= 1 milliseconds
151975.69 requests per second
cmd RPS(9 bytes) RPS(18 bytes) RPS(36 bytes) RPS(72 bytes) RPS(144 bytes) RPS(288 bytes) RPS(576 bytes) RPS(1152 bytes) RPS(2304 bytes)
get 152905 152207 151285 156494.52 148148.14 148588.42 150602.42 149700.61 144508.67
mget(1) 151975 152207 141242 149253.73 151975.69 152671.77 145985.41 145348.83 152439.02
mget(2) 146842 148809 152207 150602.42 152905.20 147929.00 147492.62 152439.02 150829.56
mget(4) 151745 152439 154798 150829.56 149700.61 152439.02 151975.69 149253.73 149031.30
mget(8) 148148 148367 144717 150602.42 152905.20 142045.45 147058.83 151057.41 144092.22
mget(16) 155763 147275 158478 151745.08 152905.20 151057.41 148148.14 152905.20 149700.61
mget(32) 150375 151057 156739 159489.64 147058.83 154559.50 151745.08 149925.03 151057.41
mget(64) 154559 143678 145985 147275.41 145560.41 152207.00 151745.08 151285.92 144927.53
mget(128) 124688 130208 125156 131233.59 127226.46 123915.74 129032.27 123456.79 124223.60
mget(256) 14714 14952 15130 14744.91 14677.82 15003.75 14974.54 15117.16 14988.01
mget(512) 13455 13904 13925 13892.75 14046.92 13886.96 13804.53 13958.68 13976.24
mget(1024) 11825 12051 12032 11748.12 11526.05 11923.21 12003.36 12195.12 12105.07

2. set vs. mset

cmd RPS
set 152671
mset(1) 151057
mset(2) 149476
mset(4) 147710
mset(8) 145772
mset(16) 145985
mset(32) 145137
mset(64) 122549
mset(128) 15820
mset(256) 14524
mset(512) 12751
mset(1024) 9726

3. What happended if keys=248?

keys RPS
mget(128) 124688
mget(192) 110497
mget(224) 99502
mget(240) 95147
mget(244) 94966
mget(246) 94607
mget(247) 93896
mget(248) 14945
mget(256) 14714

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Redis get vs. mget Benchmark

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis get vs. mget Benchmark

Redis get vs. mget Benchmark0. BackgroundScripts#!/bin/bashkey="testkey"value="testvalue"int=0while (($int <= 1024)); do echo -
Redis get vs. mget Benchmark
2019-10-21

Pika `get` vs. `mget` Benchmark

0. BackgroundSystem Info .. root@p1gd0g .PLTJ. OS: CentOS 6.
Pika `get` vs. `mget` Benchmark
2020-11-12

编程热搜

目录