testPing.java public class testPing { public static void main(String[] args) { Jedis jedis = new Jedis("Redis節點所在的機器的IP",6379); System.out.println(jed ...
testPing.java
public class testPing { public static void main(String[] args) { Jedis jedis = new Jedis("Redis節點所在的機器的IP",6379); System.out.println(jedis.ping()); System.out.println(jedis.keys("*")); } }
出現以下錯誤:
Failed to connect to any host resolved for DNS name.
Suppressed: java.net.SocketTimeoutException: connect timed out
首先查看Jedis類的構造方法:
理解構造函數中參數host和port的含義。
host為Redis節點所在的機器的IP,如果Redis安裝在Liunx上的話,就填Linux機器的IP地址。
如何獲取Linux的ip地址?
ip a
inet後面的就是Linux的IP地址。
port為Redis節點的埠,預設6379(Redis作者喜歡的一個女星的名字鍵盤縮寫)。
想要成功遠程連接Linux上的Redis,首先對redis.conf文件進行修改。
也可以不註釋bind,在下麵加上你訪問機的ip
最後,在Linux機上的防火牆開啟6379埠。
firewall-cmd --query-port=6379/tcp #查看埠6379是否開啟 #如果返回yes則代表已開啟 firewall-cmd --zone=public --add-port=6379/tcp --permanent #開啟6379埠 firewall-cmd --reload #重載防火牆 firewall-cmd --query-port=6379/tcp #再次查看埠6379是否開啟 firewall-cmd --list-ports #查看已經開啟的埠,應該會返回3306/tcp 6379/tcp
以上操作都完成後,再次運行testPing.java
PONG代表連接成功,k1,k2是我的redis中已存在的兩個鍵