Redis从入门到实战(七、压力测试及补充知识)

79 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情

1、压力测试

1、redis压力测试工具-----Redis-benchmark

Redis-benchmark是官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能。

2、redis-benchmark工具存放在Redis的src目录下

使用 redis-benchmark -h 命令来查看使用参数

redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
 
 -h <hostname> 指定服务器主机名 (默认 127.0.0.1)
 -p <port> 指定服务器端口 (默认 6379)
 -s <socket> 指定服务器 socket
 -a <password> Redis 认证密码
 -c <clients> 指定并发连接数 (默认 50)
 -n <requests> 指定请求数 (默认 100000)
 -d <size> 以字节的形式指定 SET/GET 值的数据大小 (默认 2)
 --dbnum <db> 选择指定的数据库号 (默认 0)
 -k <boolean> 1=keep alive 0=reconnect (默认 1)
 -r <keyspacelen> SET/GET/INCR 使用随机 key, SADD 使用随机值
 -P <numreq> 通过管道传输 <numreq> 请求 (no pipeline)
 -q 退出,仅显示 query/sec 值
 --csv 以 CSV 格式输出
 -l 生成循环,永久执行测试
 -t <tests> 仅运行以逗号分隔的测试命令列表
 -I Idle 模式,仅打开 N 个 idle 连接并等待

3、压力测试

对127.0.0.1使用20个并行客户端,总共10万个请求

./redis-benchmark -h 127.0.0.1 -p 6379 -n 100000 -c 20 -q

image-20221009100247212.png

2、基础面试知识

默认16个数据库,类似数组下标从零开始,初始默认使用零号库。

查看 redis.conf ,里面有默认的配置

# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16

1、Select命令切换数据库

127.0.0.1:6379> select 7
OK
127.0.0.1:6379[7]># 不同的库可以存不同的数据

2、Dbsize查看当前数据库的key的数量

127.0.0.1:6379> select 1
OK127.0.0.1:6379[1]> DBSIZE
(integer) 0127.0.0.1:6379[1]> select 0
OK127.0.0.1:6379> DBSIZE
(integer) 5127.0.0.1:6379> keys * # 查看具体的key
1) "counter:__rand_int__"
2) "mylist"
3) "k1"
4) "myset:__rand_int__"
5) "key:__rand_int__"

3、Flushdb:清空当前库

4、Flushall:清空全部的库

127.0.0.1:6379> FLUSHDB
OK127.0.0.1:6379> DBSIZE
(integer) 0