Redis性能测试
redis-benchmark 是一个压力测试工具!
官方自带的性能测试工具。
redis-benchmark 命令参数,来自菜鸟教程:
序号 | 选项 | 描述 | 默认值 |
1 | -h | 指定服务器主机名 | 127.0.0.1 |
2 | -p | 指定服务器端口 | 6379 |
3 | -s | 指定服务器 socket | |
4 | -c | 指定并发连接数 | 50 |
5 | -n | 指定请求数 | 10000 |
6 | -d | 以字节的形式指定 SET/GET 值的数据大小 | 2 |
7 | -k | 1=keep alive 0=reconnect | 1 |
8 | -r | SET/GET/INCR 使用随机 key, SADD 使用随机值 | |
9 | -P | 通过管道传输 请求 | 1 |
10 | -q | 强制退出 redis。仅显示 query/sec 值 | |
11 | –csv | 以 CSV 格式输出 | |
12 | -l | 生成循环,永久执行测试 | |
13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
14 | -I | Idle 模式。仅打开 N 个 idle 连接并等待。 |
# 测试:100个并发连接 100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
redis 基本知识
Redis 默认有16个数据库
使用select 进行切换数据库
select 3
查看数据库所有的key
keys *
清除当前数据库
flushdb
清除全部数据的内容
flushall
Redis 是单线程的
Redis是基于内存操作的,CPU 不是Redis 性能瓶颈,Redis的瓶颈是根据机器的的内存和网络带宽。
Redis 为什么单线程还这么快?
计算机 I/O 速度:CPU> 内存 > 硬盘
多线程(存在CPU上下文切换,耗费一定的时间)。
Redis 将所有的数据全部存在内存中,所以使用单线程去操作效率就是高的。