1. Redis备份数据
Redis SAVE 命令用于创建当前数据库的备份
redis 127.0.0.1:6379> SAVE
OK
该命令将在redis安装目录中创建dump.rdb文件。
2. Redis恢复数据
如果需要恢复数据,只需将备份文件(dump.rdb)移动到redis安装目录并启动服务即可。获取redis目录可以使用CONFIG命令
redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"
3. Bgsave
创建redis备份文件也可以使用Bgsave,该命令在后台执行。
127.0.0.1:6379> BGSAVE
Background saving started
4. Redis安全
我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。
通过以下命令查看是否设置了密码验
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
默认情况下 requirepass 参数是空的,这就意味着你无需通过密码验证就可以连接到 redis 服务。
可以通过以下命令来修改该参数:
127.0.0.1:6379> config set requirepass "zero"
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "zero"
设置密码后,客户端连接 redis 服务就需要密码验证,否则无法执行命令。
AUTH 命令基本语法格式如下:
语法:
127.0.0.1:6379> AUTH password
实例:
127.0.0.1:6379> AUTH "zero"
OK
127.0.0.1:6379> SET mykey "Test value"
OK
127.0.0.1:6379> GET mykey
"Test value"
5. Redis 性能测试
Redis 性能测试是通过同时执行多个命令实现的
语法:
redis-benchmark [option] [option value]
实例:
# redis-benchmark -n 10000 -q
PING_INLINE: 48076.92 requests per second, p50=0.519 msec
PING_MBULK: 48780.49 requests per second, p50=0.527 msec
19828:M 14 Sep 2022 01:52:04.941 * 100 changes in 300 seconds. Saving...
19828:M 14 Sep 2022 01:52:04.941 * Background saving started by pid 3317
3317:C 14 Sep 2022 01:52:04.961 * DB saved on disk
3317:C 14 Sep 2022 01:52:04.962 * RDB: 0 MB of memory used by copy-on-write
19828:M 14 Sep 2022 01:52:05.041 * Background saving terminated with success
SET: 48076.92 requests per second, p50=0.527 msec
GET: 46296.30 requests per second, p50=0.535 msec
INCR: 46948.36 requests per second, p50=0.519 msec
LPUSH: 46296.30 requests per second, p50=0.527 msec
RPUSH: 45662.10 requests per second, p50=0.527 msec
LPOP: 44843.05 requests per second, p50=0.527 msec
RPOP: 49504.95 requests per second, p50=0.519 msec
SADD: 43103.45 requests per second, p50=0.535 msec
HSET: 46082.95 requests per second, p50=0.527 msec
SPOP: 46296.30 requests per second, p50=0.527 msec
ZADD: 46511.63 requests per second, p50=0.527 msec
ZPOPMIN: 46948.36 requests per second, p50=0.527 msec
LPUSH (needed to benchmark LRANGE): 46948.36 requests per second, p50=0.519 msec
LRANGE_100 (first 100 elements): 33898.30 requests per second, p50=0.703 msec
LRANGE_300 (first 300 elements): 19531.25 requests per second, p50=1.215 msec
LRANGE_500 (first 500 elements): 14492.75 requests per second, p50=1.623 msec
LRANGE_600 (first 600 elements): 13140.60 requests per second, p50=1.839 msec
MSET (10 keys): 45454.55 requests per second, p50=0.527 msec
redis 性能测试工具可选参数如下所示:
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
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 (L的小写字母) | 生成循环,永久执行测试 | |
13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
14 | -I (i的大写字母) | Idle 模式。仅打开 N 个 idle 连接并等待。 |
实例
以下实例我们使用了多个参数来测试 redis 性能:
# redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
19828:M 14 Sep 2022 02:01:26.609 * 100 changes in 300 seconds. Saving...
19828:M 14 Sep 2022 02:01:26.609 * Background saving started by pid 12054
12054:C 14 Sep 2022 02:01:26.622 * DB saved on disk
12054:C 14 Sep 2022 02:01:26.622 * RDB: 0 MB of memory used by copy-on-write
19828:M 14 Sep 2022 02:01:26.709 * Background saving terminated with success
SET: 48543.69 requests per second, p50=0.519 msec
LPUSH: 44247.79 requests per second, p50=0.527 msec
以上实例中主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数。
评论区