前言
由于redis持久化(RDB),导致我们的线上的磁盘被写炸
线上服务器是 64H 512G
大概写了rdb文件是 200G
左右,写满了当时的目录
处理策略
- 关闭持久化,由于之前的现象表示,我们线上的redis并不会意外宕机,另外我们定时重启(每星期会上线一下应用,重启一下)
-
所以临时方案是 暂时关闭持久化, 每次重启前,手动执行
bgsave
命令- 问题来了: rdb关闭后,我们重启redis,是否会加载
dump.rdb
文件呢 - 进行了实验, 验证
即使是关闭了rdb持久化策略,redis重启仍然会加载rdb文件
- 批量生成redis命令
seq 1 10000 | awk '{ print "set "$1" "$1}' > cmd.txt
- 执行redis命令
cat cmd.txt | redis-cli -h ip -p port --pipe
- redis-cli执行生成rdb
bgsave
- 重启redis, 查看redis的log是加载了rdb文件的
- 批量生成redis命令
- 问题来了: rdb关闭后,我们重启redis,是否会加载
-
redis 线上不重启,关闭
rdb
- redis-cli执行
config set save ""
- redis-cli执行
-