一、MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk.
原因:
在BGSAVE时,Redis会fork一个子进程,把数据保存到硬盘上。你可以通过查看日志来获取BGSAVE失败的原因(Linux系统里Redis日志文件通常是在/var/log/redis/redis-server.log),大多数时候BGSAVE失败的原因是fork进程分配不到内存。更多时候,fork进程分配不到内存是因为跟操作系统的优化相冲突,即使操作系统有足够的内存。
解决方法一:
修改redis.conf文件:
vim redis.conf
然后使用快捷匹配模式:/stop-writes-on-bgsave-error定位到stop-writes-on-bgsave-error字符串所在位置,接着把后面的yes设置为no即可。
解决方法二:
修改sysctl.conf文件,
sudo vim /etc/sysctl.conf
添加配置:
vm.overcommit_memory=1
执行命令,使其生效
sudo sysctl -p /etc/sysctl.conf
重启Redis。