JedisConnectionException:java.net.SocketTimeoutException:connect timed out

时间:2011-11-10 05:22:19

标签: java redis jedis

我正在使用jedis进行简单的键值数据存储...我的代码如下

private static final String HOST = "50.30.35.9"; 
private static final int PORT = 2863;    
Jedis jedis = new Jedis(HOST, PORT); 

  try { 
      jedis.set("foo", "bar"); 
      jedis.get("foo"); 
  } catch (Exception e) { 
      System.err.println("Unable to connect to Redis"); 
      e.printStackTrace(); 
  } 

当我用jedis客户端测试redis服务器时,我得到了以下内容 例外。

 redis.clients.jedis.exceptions.JedisConnectionException: 
 java.net.SocketTimeoutException: connect timed out 
         at redis.clients.jedis.Connection.connect(Connection.java:124) 
         at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:  54) 
         at redis.clients.jedis.Connection.sendCommand(Connection.java:  77) 
         at redis.clients.jedis.BinaryClient.set(BinaryClient.java:71) 
         at redis.clients.jedis.Client.set(Client.java:21) 
         at redis.clients.jedis.Jedis.set(Jedis.java:48)

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

问题是:

答案是:

因为您无法连接到代码中的主机和端口,因为您无法telnet 50.30.35.9 2863到它。

后续问题是:

  • 即使Redis4you门户声称它正在运行,我也无法通过telnet访问由Redis4you托管的Redis实例。如何调试此问题的根本原因?

答案是:

Contact Redis4You,并找出答案。来自Redis4You联系页面:

=>您可以通过以下电子邮件与我们联系:•redis (@) e-nick . org如果服务器状态有问题,请关注我们的Twitter帐户:redis4you。您也可以在那里发表评论和问题,但电子邮件将更容易,更快捷。


同样在10月17日查看他们的Twitter Feed时,他们“已将系统升级到新发布的Redis 2.4.0。您需要停止然后启动您的实例,以便升级为您完成。

答案 1 :(得分:-1)

如果是ubuntu: sudo ufw允许2863 / tcp 或关闭防火墙