笔记:redis客户端连接测试报错Can't connect to redis-server
过一段时间没有打开redis就又有毛病了,大概是我运气太好了。
这次是和上次一样首先打开redis以前连接的端口号就是很久都没有响应,以前第一次解决这种办法是又重新改了一次redist.conf文件,不记得指令的可参考入门Redis之命令操作
切入正题
redis客户端连接测试时报错是Can’t connect to redis-server,然后我就去服务端查看了redis-server是有这个文件的。也去百度查找解决方案。大部分是修改redis.conf的东西(参考入门Redis之命令操作)
确保操作正确查看守护进程是否打开(daemonize yes),端口号是否注释(# bind 127.0.0.1),设置密码(requirepass 123456)
注意:我是因为目前redis服务端只能被本地客户端连接解绑本地设置,给注释掉/bind 127.0.01加上# 设置密码requirepass,当我百度解决方案时有说把参数protected-mode yes改为no这样在登录时不需要密码(这样设置不安全),但是我们有设置密码所以这里是不可以用参考修改。
确保上面redis.conf文件中的改修改的东西都已经修改好了。要记得每次修改时都:wq
保存退出。
再次进行连接测试发现报错:(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.
原因:missf Redis已配置为保存RDB快照,但它当前无法在磁盘上持久化。可以修改数据集的命令被禁用,因为此实例配置为在RDB快照失败时报告写入期间的错误(停止对bgsave error的写入选项)。请检查Redis日志以获取有关RDB错误的详细信息。
解决方案
通过stop-writes-on-bgsave-error值设置为no即可避免这种问题。
有两种修改方法,一种是通过redis命令行修改,另一种是直接修改redis.conf配置文件
命令行修改方式示例:
127.0.0.1:6379> config set stop-writes-on-bgsave-error no
修改redis.conf文件:vi打开redis-server配置的redis.conf文件(进入redis-5.0.2你的redis版本的目录下执行vi redis.conf
),然后使用快捷匹配模式:/stop-writes-on-bgsave-error定位到stop-writes-on-bgsave-error字符串所在位置,接着把后面的yes设置为no即可
记得:wq
保存后退出,重启redis服务(reboot
),然后再次连接测试是否成功。PONG成功后去客户端连接测试。如果第一次还是没有成功,不要担心,重新打开redis客户端,或许是缓存问题。这时候我们再次连接会发现连接成功