目 录CONTENT

文章目录

Redis相关操作

ZERO
2022-11-14 / 0 评论 / 0 点赞 / 69 阅读 / 0 字

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 参数让结果只显示每秒执行的请求数。

0

评论区