最近接触一项新技术的方法都是通过测试来入门的。对测试这件事情有了新的认识,觉得是类似做实验的一种方式。尤其对于后端,测试的性能指标是技术选型的重要参考。

好了,如果你想做一下redis的性能测试,不要苦逼的还得去想怎么写代码了。redis提供了现成的工具, redis-benchmark,我们来看一下怎么用吧。

关于redis 性能测试

如果想测试特定操作例如set和lpush 可以:

./redis-benchmark -t set,lpush -n 100000 -q

如果想测试特定redis操作,例如 hset 可以:

./redis-benchmark -l -n 100000 hset myhash 12315 12315

如果想测试lua脚本,可以先通过script load 载入redis server, 然后执行产生的sha值即可,例如hset 可以:

127.0.0.1:6379\> SCRIPT LOAD 'redis.call("hset","myhash",12315,12315)'
"a868de0a0e3254dsdf32323230d0eb"
./redis-benchmark -l -n 100000 -q EVALSHA a868de0a0e3254dsdf32323230d0eb

supplementary materials: benchmark 参数选项

Usage: redis-benchmark [-h ] [-p ] [-c ] [-n <requests]> [-k ]


-h &lt;hostname&gt; Server hostname (default 127.0.0.1)
-p &lt;port&gt; Server port (default 6379)
-s &lt;socket&gt; Server socket (overrides host and port)
-a &lt;password&gt; Password for Redis Auth
-c &lt;clients&gt; Number of parallel connections (default 50)
-n &lt;requests&gt; Total number of requests (default 100000)
-d &lt;size&gt; Data size of SET/GET value in bytes (default 2)
-dbnum &lt;db&gt; SELECT the specified db number (default 0)
-k &lt;boolean&gt; 1=keep alive 0=reconnect (default 1)
-r &lt;keyspacelen&gt; Use random keys for SET/GET/INCR, random values for SADD
Using this option the benchmark will expand the string rand_int
inside an argument with a 12 digits number in the specified range
from 0 to keyspacelen-1. The substitution changes every time a command
is executed. Default tests use this to hit random keys in the
specified range.
-P &lt;numreq&gt; Pipeline &lt;numreq&gt; requests. Default 1 (no pipeline).
-q Quiet. Just show query/sec values
--csv Output in CSV format
-l Loop. Run the tests forever
-t &lt;tests&gt; Only run the comma separated list of tests. The test
names are the same as the ones produced as output.
-I Idle mode. Just open N idle connections and wait.

既然开始,就把这条线继续下去吧,下面要学习

redis命令

redis教程

redis文档

redis原理

参考文章: http://www.redis.cn/topics/benchmarks.html

初识redis之性能测试的更多相关文章

  1. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  2. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

  3. Redis——学习之路二(初识redis服务器命令)

    上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   s ...

  4. 01:初识Redis

    付磊和张益军两位大咖写的葵花宝典(Redis开发和运维)学习笔记. 一.初识Redis 1.redis简介 Redis是一种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的 ...

  5. redis实战笔记(1)-第1章 初识Redis

    第1章 初识Redis 注:本书在redis3.0版本的,比如redis3.0以后支持服务端集群.3.0之前只能客户端分片.    本章主要内容 1.Redis与其他软件的相同之处和不同之处 2.Re ...

  6. Linux(5)- MariaDB、mysql主从复制、初识redis

    一.MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL ...

  7. 分布式数据存储 之 Redis(一) —— 初识Redis

    分布式数据存储 之 Redis(一) -- 初识Redis 为什么要学习并运用Redis?Redis有什么好处?我们步入Redis的海洋,初识Redis. 一.Redis是什么 ​ Redis 是一个 ...

  8. [转]Redis之(一)初识Redis

    原文地址:http://blog.csdn.net/u012152619/article/details/52550315 Redis之(一)初识Redis 标签: Redisredis-server ...

  9. Redis学习笔记(一) 初识 Redis

    简介 我所在的公司是一个以线下业务为主的公司,软件这一块的东西可以说是手工作坊,技术上的东西全靠大家自己折腾.最近也是觉得自己在社会主义的怀抱里安逸了太久,要提高思想政治觉悟,不能忘了资本主义的黑暗, ...

  10. 初识redis(redis基础命令)

    redis简介redis是一个开源(BSD许可)的使用C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,它可以用作数据库.缓存和消息中间件,并提供多种语言的API.从201 ...

随机推荐

  1. [OpenCV实战]44 使用OpenCV进行图像超分放大

    图像超分辨率(Image Super Resolution)是指从低分辨率图像或图像序列得到高分辨率图像.图像超分辨率是计算机视觉领域中一个非常重要的研究问题,广泛应用于医学图像分析.生物识别.视频监 ...

  2. PowerUsageSummary.java源码分析

    在在线网站http://androidxref.com/上对Android版本6.0.1_r10源码进行分析 官方手机的应用耗电排行具体实现位置在:/packages/apps/Settings/sr ...

  3. [C++]std::sort()函数使用总结

    函数声明 template< class RandomIt, class Compare > constexpr void sort( RandomIt first, RandomIt l ...

  4. 学习记录C

    学了这么久,终于开始实训项目了....... 奥里给 !!! 压力好大,好喜欢什么也不想的时候 记录学习的代码 分享一下 /* system函数:( #include<stdlib.h> ...

  5. day01-Spring基本介绍

    Spring基本介绍 1.官方资料和下载 1.1Spring5下载 直接访问 https://repo.spring.io/ui/native/release/org/springframework/ ...

  6. 算法学习笔记(9): 中国剩余定理(CRT)以及其扩展(EXCRT)

    扩展中国剩余定理 讲解扩展之前,我们先叙述一下普通的中国剩余定理 中国剩余定理 中国剩余定理通过一种非常精巧的构造求出了一个可行解 但是毕竟是构造,所以相对较复杂 \[\begin{cases} x ...

  7. NLP知识图谱项目合集(信息抽取、文本分类、图神经网络、性能优化等)

    NLP知识图谱项目合集(信息抽取.文本分类.图神经网络.性能优化等) 这段时间完成了很多大大小小的小项目,现在做一个整体归纳方便学习和收藏,有利于持续学习. 1. 信息抽取项目合集 1.PaddleN ...

  8. vulnhub靶场渗透实战15-matrix-breakout-2-morpheus

    vulnhub靶场渗透实战15-matrix-breakout-2-morpheus 靶机搭建:vulnhub上是说vbox里更合适.可能有vbox版本兼容问题,我用的vmware导入. 靶场下载地址 ...

  9. Nginx04 反向代理和负载均衡

    1 反向代理介绍 https://www.cnblogs.com/jthr/p/16827214.html 2 负载均衡介绍 https://www.cnblogs.com/jthr/p/168273 ...

  10. Vue32 插槽

    1 简介 是一种组件间通信的方式,让父组件可以向子组件指定位置插入 html 结构.子组件中的提供给父组件使用的一个占位标签,用<slot></slot> 表示,父组件可以在这 ...