初识redis之性能测试
最近接触一项新技术的方法都是通过测试来入门的。对测试这件事情有了新的认识,觉得是类似做实验的一种方式。尤其对于后端,测试的性能指标是技术选型的重要参考。
好了,如果你想做一下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 <hostname> Server hostname (default 127.0.0.1)
-p <port> Server port (default 6379)
-s <socket> Server socket (overrides host and port)
-a <password> Password for Redis Auth
-c <clients> Number of parallel connections (default 50)
-n <requests> Total number of requests (default 100000)
-d <size> Data size of SET/GET value in bytes (default 2)
-dbnum <db> SELECT the specified db number (default 0)
-k <boolean> 1=keep alive 0=reconnect (default 1)
-r <keyspacelen> 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 <numreq> Pipeline <numreq> requests. Default 1 (no pipeline).
-q Quiet. Just show query/sec values
--csv Output in CSV format
-l Loop. Run the tests forever
-t <tests> 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之性能测试的更多相关文章
- 初识redis数据类型
初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...
- Redis——学习之路三(初识redis config配置)
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- 01:初识Redis
付磊和张益军两位大咖写的葵花宝典(Redis开发和运维)学习笔记. 一.初识Redis 1.redis简介 Redis是一种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的 ...
- redis实战笔记(1)-第1章 初识Redis
第1章 初识Redis 注:本书在redis3.0版本的,比如redis3.0以后支持服务端集群.3.0之前只能客户端分片. 本章主要内容 1.Redis与其他软件的相同之处和不同之处 2.Re ...
- Linux(5)- MariaDB、mysql主从复制、初识redis
一.MYSQL(mariadb) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL ...
- 分布式数据存储 之 Redis(一) —— 初识Redis
分布式数据存储 之 Redis(一) -- 初识Redis 为什么要学习并运用Redis?Redis有什么好处?我们步入Redis的海洋,初识Redis. 一.Redis是什么 Redis 是一个 ...
- [转]Redis之(一)初识Redis
原文地址:http://blog.csdn.net/u012152619/article/details/52550315 Redis之(一)初识Redis 标签: Redisredis-server ...
- Redis学习笔记(一) 初识 Redis
简介 我所在的公司是一个以线下业务为主的公司,软件这一块的东西可以说是手工作坊,技术上的东西全靠大家自己折腾.最近也是觉得自己在社会主义的怀抱里安逸了太久,要提高思想政治觉悟,不能忘了资本主义的黑暗, ...
- 初识redis(redis基础命令)
redis简介redis是一个开源(BSD许可)的使用C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,它可以用作数据库.缓存和消息中间件,并提供多种语言的API.从201 ...
随机推荐
- 洛谷P2196例题分析
[NOIP1996 提高组] 挖地雷(原题) 题目描述 在一个地图上有\(N\)个地窖\((N \le 20)\),每个地窖中埋有一定数量的地雷.同时,给出地窖之间的连接路径.当地窖及其连接的数据给出 ...
- 外包公司中的"炼狱",极度摧残,避免踩坑。
引言 前些天羊了,一直没有更新.今天给大家聊聊两家外包公司,遇到的小伙伴避免踩坑. 咱不说那些虚的,什么尽量不要去外包公司,尽可能找甲方,这些谁都知道,肯定是因为一些原因(比如学历.项目经验.技术有待 ...
- 用友开发者中心全新升级,YonBuilder移动开发入门指南
听说用友新上线了全新的开发者中心,有YonBuilder应用开发,集成开发.数据开发.智能与自动化.DevOps 等板块,本人作为用户老客户,对其中的移动开发比较感兴趣,本文重点讲解其中的移动开发平台 ...
- [OpenCV实战]10 使用Hu矩进行形状匹配
目录 1 什么是图像矩? 2 如何计算图像矩 2.1 质心获取 2.2 中心矩 2.3 Hu矩 3 基于Hu矩实现形状匹配 3.1 Hu矩的计算 3.2 基于matchShapes函数计算两个图形之间 ...
- ArcGIS工具 - 导出空数据库
有时,需要根据已有的成果数据创建一个空的数据库模板文件,用于新的编辑或对外发布.那么,如果又快又好的创建呢?为源GIS为您编写了一个导出空数据库工具,它可以实现"一键"快速导出任意 ...
- day06-Vue03
Vue03 10.组件化编程 10.1基本说明 官网链接:https://v2.cn.vuejs.org/v2/guide/components-registration.html 在大型应用开发时, ...
- python之路33 MySQL 1
存取数据的演变 1.文本文件 文件路径不固定:C:\aaa.txt D:\bbb.txt E:\ccc.txt 数据格式不统一:jason|123 jason$123 jason 123 2.软件开发 ...
- appium如何连接多台设备
我们在做app自动化的时候,若要考虑兼容性问题,需要跑几台设备,要是一台一台的跑比较耗 时,因此需要考虑使用多线程来同时操作多台设备. 1.我们拿两台设备来模拟操作下,使用:adb devices查看 ...
- 计组Review1
1GB的内存,它是以字节编址的,假设内存地址为32位,128KB的高速缓存.现在有一个数据位于0x123456(字节编址),会映射到那些不同情形的内存单元上,还有TAG和总缓存大小. 1. 直接映射, ...
- 关于v-deep有你想知道的一切
1.首先要知道v-deep的使用场合. 在此之前先了解一下scoped属性,scoped 属性是一个布尔属性.如果使用该属性,则样式仅仅应用到 style 元素的父元素及其子元素. 在vue中引入了s ...