1. 程式人生 > >關於Jedis連線Redis超時問題

關於Jedis連線Redis超時問題

第一次寫部落格,希望從這開始慢慢積累。自己實踐過程中碰到的問題,現記錄自己的解決方案。

我的java程式碼:

public class JedisTest {

@Test
public void testJedis1() throws Exception{
//建立和Redis的連結
Jedis jedis = new Jedis("192.168.222.33",6379);
//存入
jedis.set("key2", "2");
//取出
System.out.println(jedis.get("key2"));

//關閉
jedis.close();
}

}

報錯資訊:

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
at redis.clients.jedis.Connection.connect(Connection.java:154)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:83)
at redis.clients.jedis.Connection.sendCommand(Connection.java:93)
at redis.clients.jedis.BinaryClient.set(BinaryClient.java:100)
at redis.clients.jedis.Client.set(Client.java:29)
at redis.clients.jedis.Jedis.set(Jedis.java:65)
at cn.herong.redis.JedisTest.testJedis1(JedisTest.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
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:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at redis.clients.jedis.Connection.connect(Connection.java:148)
... 29 more

解決方法:

關閉防火牆;

在CentOS 7中預設使用firewall做為防火牆,在linux命令列中執行命令systemctl stop firewalld.service關閉;

再次執行Java程式即可正常遠端呼叫Redis。

相關推薦

jedis 連線redis超時異常

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

關於Jedis連線Redis超時問題

第一次寫部落格,希望從這開始慢慢積累。自己實踐過程中碰到的問題,現記錄自己的解決方案。我的java程式碼:public class JedisTest {@Testpublic void testJedis1() throws Exception{//建立和Redis的連結J

jedis連線redis伺服器超時

問題: 通過java redis客戶端連線redis伺服器提示連線超時 解決辦法:關閉centos7防火牆 java程式碼示例: import redis.clients.jedis.Jedi

如何解決用 jedis 連線在虛擬機器上連線redis 超時問題。

在網上找了很多問題,很大的原因就是防火牆沒有關閉 需要輸入一下命令即可 systemctl stop firewalld.service java程式碼報錯: java.net.SocketTimeoutException: connect timed out

Jedis 連線redis的坑(連線超時

Jedis jedis = new Jedis("172.0.0.1",6379); System.out.println(jedis.ping()); if(jedis !=null){     jedis.close(); } 上面的程式碼執行就會拋異常,在

Jedis連線redis客戶端

1 單點的redis利用jedis客戶端連線   如何連線 1 //1 利用jedis連線物件操作redis 2 @Test 3 public void test01(){ 4 //構造一個具有連線資訊的jedis物件 5 //確定虛擬機器linux系

通過jedis連線redis單機成功,使用redis客戶端可以連線叢集,但使用JedisCluster連線redis叢集一直報Could not get a resource from th

原因是這個地方以前我沒註釋redis.conf檔案中的bind 127.0.0.1 然後做叢集時使用的命令是: ./redis-trib.rb create –replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.

jedis 連線redis

一,  單機版連線 @Test public void testJedis() { //1. 建立jedis 物件 Jedis jedis = new Jedis("192.168.88.142", 6379); //2. 直接呼叫 j

Redis安裝&&Jedis連線Redis

伺服器centOS6.9, 虛擬機器vbox $ wget http://download.redis.io/releases/redis-4.0.2.tar.gz $ tar x

jedis連線服務超時connect timed out

在eclipse中寫jedis測試時,連線虛擬機器中的redis服務。提示connect timed out 1、可能是虛擬機器網絡卡未開。 開啟虛擬機器網絡卡 2、如果還是連線超時,那就是虛擬機器埠未開啟。參考https://www.cnblogs.com/moxiaoan/p/5683743.h

03.jedis連線redis 連線不上

虛擬機器ip地址:192.168.8.156 埠6379 使用jedis連線redis public static void main(String[] args) { Je

使用Jedis連線Redis

使用Jedis連線redis跟我們使用jdbc連線資料庫特別向,話不多說,直接上程式碼。需要引入的jar包這裡我建的是maven工程,pom座標配置如下 <dependency> <groupId>redis.clients</gr

Jedis 連線 Redis 常見錯誤

1、SocketTimeoutException 連線超時 redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed o

使用Jedis 連線 Redis 時可能出現的常見錯誤

本人作為一個初學者學習Redis的使用,遇到了下面一些異常,總結了一些解決方案。1、SocketTimeoutException 連線超時redis.clients.jedis.exceptions.JedisConnectionException: java.net.Soc

阿里雲ECS伺服器centOS上安裝redis, jedis連線超時解決

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect ti

jedis連線超時問題處理

public class TestPing { public static void main(String[] args) { Jedis jedis = new Jedis("192.168.201.128", 6379); System.out.println(jedis.ping()); }

【JAVA】使用 jedis操作redis——連線、儲存資料、切庫等

本篇運用Java呼叫jedis包(jedis線上文件API ),做簡單操作例項。 安裝jedis 1. 2.9.0 jar 版本下載: jedis-2.9.0.jar 2. 新建專案,新增該驅動包    連線到 redis 服務

redis 第 13 篇 jedis連線叢集

設定防火牆 [[email protected] redis-cluster]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j A

Jedis連線操作redis

首先引入jedis的pom依賴: <dependency> <groupId>redis.clients</groupId> <artifactId>

使用jedis客戶端連線redis,單機版和叢集版

單機版 1.入門例項 @Test public void testJedis(){ //建立一個jedis物件,需要指定服務的ip和埠號 Jedis jedis=new Jedis("192.168.25.11",