最近练习使用SpringBoot连接并操作Redis,其间遇到一些问题,记录下来备查。

如果只看报Unable to connect to Redis是看不出问题的,必须对具体的原因进行分析。

1.错误原因显示"Caused by: java.nio.channels.ClosedChannelException"

如果确定Redis服务已经启动,且连接Redis的相关参数配置正确,可以查看主机上防火墙是否为关闭状态。

可以看到参数配置无误,于是检查防火墙状态:

防火墙为开启状态,关闭防火墙之后,连接成功。

2.错误原因显示"Caused by: java.io.IOException: 您的主机中的软件中止了一个已建立的连接"

这个问题找原因找了半天,看错误提示说明应该是可以连接不过是被服务器给关闭连接了。什么情况下服务器是不允许外部连接的呢?保护模式!!

查看了下redis配置,默认是开启保护模式的,于是重新启动Redis时关闭保护模式即可。

3.错误原因显示"Caused by: java.ConnectException: Connection refused: no further information"

此种情况一般都是Redis服务器没有启动或者配置文件参数配置错误造成的。

总的来说,在开发过程中遇到问题需要具体问题具体分析,根据提示按图索骥,逐个排查,才能快速地解决问题。

更多推荐

Spring boot连接Redis服务器报Unable to connect to Redis问题解决