1、導入jar包,添加pom依賴
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
2、測試連接
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.33.128",6379);
jedis.auth("123456");
System.out.println(jedis.ping());
jedis.close();
}
3、連接異常
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect
timed out
at redis.clients.jedis.Connection.connect(Connection.java:207)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)
at redis.clients.jedis.Connection.sendCommand(Connection.java:126)
at redis.clients.jedis.Connection.sendCommand(Connection.java:117)
at redis.clients.jedis.Jedis.get(Jedis.java:152)
at util.Test.main(Test.java:12)
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:75)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at redis.clients.jedis.Connection.connect(Connection.java:184)
... 5 more
4、連接異常處理
1)關閉防火牆.(可能linux防火牆作用,限制了端口的出入)
systemctl stop firewalld.service
2)修改redis.conf文件
將 bind 127.0.0.1這一行注釋掉
bind的意思是指定redis只接收來自該IP的請求,如果不設置,那么將處理所有請求,在生產環節中最好設置該項
將protected-mode yes 改為no 或 將 protected-mode yes 改為yes 並添加 requirepass 123456 設置密碼
Protected-mode 是為了禁止公網訪問redis cache,加強redis安全的。
3)重啟redis服務
5、測試連接
測試程序出現PONG表示連接成功