一、问题描述
Redis 之前一直使用正常,某一天突然报错:
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.
二、解决方法
两种方法解决:一是通过命令行修改,一是通过配置文件修改。
1.命令行修改
redis-cli
auth XXX
127.0.0.1:6379> config set stop-writes-on-bgsave-error no
2.配置文件修改
修改 redis.conf ,将 stop-writes-on-bgsave-error 设置为 no,然后重启服务。
三、其它问题
一般还会同时有两个警告:
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
和
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
警告1解决方法:
echo 1 > /proc/sys/vm/overcommit_memory
警告2解决方法:
vi /etc/sysctl.conf
#添加配置
net.core.somaxconn = 1024
检查是否成功:sysctl -p
总结
到此这篇关于解决Redis报错MISCONF Redis is configured to save RDB snapshots的文章就介绍到这了,更多相关Redis报错MISCONF Redis内容请搜索编程客栈(www.cppcns.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.cppcns.com)!