我正在尝试将jedis客户端应用程序连接到远程redis服务器。附件是客户端的代码:
public static void main(String[] args) {
Jedis jedis = new Jedis("192.168.1.40",9124);
if(jedis.isConnected())
System.out.println("connected");
jedis.ping();
}这段代码以前运行得很好,过去也很好。但突然间,应用程序似乎出现了问题。现在运行它时,我将得到以下堆栈跟踪:
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Unknown reply:
at redis.clients.jedis.Protocol.process(Protocol.java:141)
at redis.clients.jedis.Protocol.read(Protocol.java:200)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:285)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:184)
at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:66)
at TestJedis.main(TestJedis.java:43)edis.BinaryJedis.ping(BinaryJedis.java:66)
at TestJedis.main(TestJedis.java:43)我已经检查了我的远程服务器。它正在运行,本地客户端可以访问服务器。jedis客户端能够连接到服务器,但它不能在redis上执行任何命令。不能够平平远程服务器,如果是连接问题,它就会产生套接字超时错误。我找不出这个问题的原因。有人能帮我解决这个问题吗?
提前感谢!
发布于 2014-06-26 07:57:09
问题在于远程连接配置。我更改了远程redis服务器的绑定,以侦听VM的IP,问题就解决了。
https://stackoverflow.com/questions/24417453
复制相似问题