Hugo博客公告弹窗

amh还原站点出现redis问题

站点使用了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
CC BY-NC-SA 4.0 转载请注明
最后更新于 2025-01-15 13:02
clarity统计