引言

我之前在網上收集一些資料,關於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天了,終於知道是什麼問題了,大家在解決問題的時候,不要侷限,一點一點的推敲,一定會給你一個滿意的結果的。