数据库
首页 > 数据库> > redis连接错误3种解决方案System Error MISCONF Redis is configured to save RDB snapshots

redis连接错误3种解决方案System Error MISCONF Redis is configured to save RDB snapshots

作者:互联网

redis连接错误System Error MISCONF Redis is configured to save RDB snapshots, but XX

  情况1解决办法: 由于强制停止redis快照,不能持久化引起的。 在客户端输入
config set stop-writes-on-bgsave-error no

 

情况2解决办法:

Redis在保存数据到硬盘时为了避免主进程假死,需要Fork一份主进程,然后在Fork进程内完成数据保存到硬盘的操作,如果主进程使用了4GB的内存,Fork子进程的时候需要额外的4GB,此时内存就不够了,Fork失败,进而数据保存硬盘也失败了。

修改vm.overcommit_memory=1

// 原文:http://pydelion.com/2013/05/27/redis-cant-save-in-background-fork-cannot-allocate-memory/  
If you get this error  
  
Can't save in background: fork: Cannot allocate memory  
  
it means that your current database is bigger than memory you have. To fix the issue enable vm.overcommit_memory:  
  
sysctl vm.overcommit_memory=1  
  
To have if after reboot add this line to /etc/sysctl.cnf:  
  
vm.overcommit_memory=1  

 

情况3解决办法:

 Permission denied持久化文件无权限,改一下文件夹权限就解决了

chmod  777 /xxx/redis_data

 

当然是那种情况需要先看看redis日志文件。

redis在默认情况下,是不会生成日志文件的,所以需要配置 配置方法:

1、首先找到redis的配置文件

2、打开配置文件,直接搜logfile ""

3、将路径填入logfile后面的引号内,例如:logfile "/plus/data/redis_data/redislog/redis.log" 

4、手动建立了/plus/data/redis_data/redislog文件夹,日志文件不用建,重启redis会自动生成

标签:MISCONF,Fork,configured,RDB,redis,vm,memory,save,data
来源: https://www.cnblogs.com/hiit/p/11104464.html