使用redis-cli -h IP -p 端口,来启动客户端,redis数据库客户端连接正常。
redis-cli -h xxx.xxx.xxx.xxx -p 6379
xxx.xxx.xxx.xxx:6379>
但是在输入ping本意是想拿到返回的PANG的时候,突然报错:
redis-cli -h xxx.xxx.xxx.xxx -p 6379
xxx.xxx.xxx.xxx:6379>ping
(error) 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快照关闭从而导致不能持久化,此时我们可以通过stop-writes-on-bgsave-error值设置为no来解决
有两种修改方法,一种是通过redis命令行修改,另一种是直接修改redis.conf配置文件
命令行修改方式示例:
xxx.xxx.xxx.xxx:6379> config set stop-writes-on-bgsave-error no
修改redis.conf文件:通过 sudo vi 指令打开我们的配置文件redis.conf,然后使用快捷匹配模式:/stop-writes-on-bgsave-error定位到stop-writes-on-bgsave-error字符串所在位置,接着把后面的yes设置为no即可。
总结:两种方法归根结底还是来设置stop-writes-on-bgsave-error值,不管使用哪种方法,只要将他的值设置为no,那么问题就会迎刃而解