引言
我之前在网上收集一些资料,关于Redis的java代码,在自己的电脑上运行的时候,出现了这样的问题,就是Connect timeout,连接超时的问题。
首先我们遇到Redis的Connect timeout问题的时候,我们首先需要看看是不是linux系统上的redis是否有问题。
测试一:
在我们linux系统上使用命令:
在我们的redis安装目录下使用./redis-cli
如果是下面的Could not connect to Redis 那么,就要重新解压和安装redis,证明,redis的服务根本没有启动。
测试二:
如果发现,./redis-cli之后,是这样的:
那么,咱们就连接上了,说明redis启动没有问题,下面,就要测试Windows系统连接Linux系统,是否是防火墙没有关。
我们在我们的Windows系统上运行“cmd”命令。
现在,如果不能链接通,那么就是防火墙的问题,关闭linux系统的防火墙就可以了。
测试三:
如果用了telnet ip port 发现是可以连接的,但是我们的代码还是Connect timeout,
那么我们就要看看一定是我们代码的问题。
我查看了Jedis的源码,发现里面的方法没有问题,后来,才发现,原来,我安装的redis是3.0.2的,但是,我的代码中的Jedis.jar 的版本是1.2.0的,这是时候,我想可能是不是Jedis.jar的版本太老了,所以就换成了Jedis2.6.0.jar和common-pool2.2.0.jar,发现问题解决了。
结论:
这个问题纠结了我2天了,终于知道是什么问题了,大家在解决问题的时候,不要局限,一点一点的推敲,一定会给你一个满意的结果的。