站点使用了redis6.2作为缓存,在还原数据时出现网站打开错误,以下是解决方案
错误提示:
MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
简单来说:Redis 无法保存数据快照(RDB)到磁盘,导致所有写入命令被禁用。
临时生效
当 Redis 在保存数据快照(RDB)失败时,设置
stop-writes-on-bgsave-error no
表示允许 Redis 继续接受写入操作,但代价是可能会丢失一些数据。
查找 redis-cli 的位置
find / -name redis-cli
为了方便以后使用,建议创建软链接:
ln -s /usr/local/redis-6.2/bin/redis-cli /usr/bin/redis-cli
连接到 Redis CLI
redis-cli
允许 Redis 在保存快照失败时继续写入数据。
config set stop-writes-on-bgsave-error no
验证设置
config get stop-writes-on-bgsave-error
按 CTRL+D
退出
CTRL+D # 按键盘CTRL+D退出
永久生效
查找 redis.conf 位置
find / -name redis.conf
编辑conf
sed -i 's/^stop-writes-on-bgsave-error yes/stop-writes-on-bgsave-error no/' /usr/local/redis-6.2/redis.conf
查看配置
grep -v "^#" /usr/local/redis-6.2/redis.conf | grep -v "^$"
持久化检查
redis-cli CONFIG GET save
出现
1) "save"
2) "3600 1 300 100 60 10000"
触发条件较高:
需要3600秒内改动1次,或
300秒内改动100次,或
60秒内改动10000次
检查保存状态
redis-cli INFO persistence
查看当前 Redis 使用的数据目录配置
redis-cli CONFIG GET dir
查看 dump 文件名配置
redis-cli CONFIG GET dbfilename