1. 程式人生 > >jedis 連線redis超時異常

jedis 連線redis超時異常

1、redis 部署環境 centos7.0
2、通過jedis 原始碼除錯 出現錯誤,如下
Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out

3、超時異常,有兩種情況,
1)centos 系統防火牆阻止程式連結
2)應用伺服器拒絕

1、首先檢查防火牆
telnet 192.168.2.35 6379 ,如果不能連線,防火牆開啟,關閉了埠,
systemctl stop firewalld.service (centos7 的命令有所更改)
此處配置防火牆也可以,為求簡單,直接關了防火牆
再次檢查telnet 192.168.2.35 6379 能夠進行連線
2、查詢連線許可權
這裡寫圖片描述


這裡 redis-server* :6379 允許所有地址訪問,
可以修改redis.conf 配置檔案
bind 127.0.0.1 禁止本地訪問
bind 區域網IP 禁止區域網某IP訪問
將這兩個註釋掉即是允許所有ip訪問
protected-mode no 關閉保護模式
3、儲存redis.conf 配置檔案,重啟redis-server
4、測試程式碼如下
Jedis jedis = new Jedis(“192.168.2.35”, 6379, 5000);
System.out.println(jedis.ping() + “=========”);
輸出如下:
PONG=========
問題解決