我正在使用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服务器时,得到以下信息
异常(exception)。
 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)

有人可以帮忙吗?

最佳答案

问题是:

  • 为什么会收到SocketTimeoutException

  • 答案是:
    由于您无法连接到代码中包含的主机和端口,因此无法对其进行telnet 50.30.35.9 2863
    后续问题是:
  • 即使Redis4you门户声称它正在运行,我也无法通过telnet访问Redis4you托管的Redis实例。如何调试此问题的根本原因?

  • 答案是:
    Contact Redis4You,找出来。从Redis4You联系页面:
    =>您可以通过以下电子邮件与我们联系,如有问题或支持问题,请联系我们:redis (@) e-nick . org如果服务器状态存在问题,请关注我们的Twitter帐户:redis4you。您也可以在此处发布评论和问题,但通过电子邮件发送电子邮件将变得更加便捷。

    他们还查看了10月17日的Twitter提要,他们“已将系统升级到新发布的Redis 2.4.0。您需要先停止然后再启动实例,这样升级才对您有利。”

    08-04 16:13