昨天第一次用程序连接的时候,是用最简单的方式:
Jedis jedis = new Jedis(REDIS_SERVER_IP); long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { String result = jedis.set("n" + i, "n" + i); }
到执行jedis.set()时抛出了socket的连接超时异常,之后使用windows的telnet命令检查确实没有问题,然后再重新执行程序成功了。当时没在意,但是今天第一次执行时,同样的问题发生了,然后又是同样的方法,又执行成功了。不解!!!
异常信息如下:
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect at redis.clients.jedis.Connection.connect(Connection.java:137) at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:65) at redis.clients.jedis.Connection.sendCommand(Connection.java:82) at redis.clients.jedis.BinaryClient.set(BinaryClient.java:82) at redis.clients.jedis.Client.set(Client.java:23) at redis.clients.jedis.PipelineBase.set(PipelineBase.java:481) at redis.clients.jedis.Pipeline.set(Pipeline.java:8) at com.abcwork.testJedis.TestSimple.testPipeline(TestSimple.java:146) at com.abcwork.testJedis.TestSimple.main(TestSimple.java:27) Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at redis.clients.jedis.Connection.connect(Connection.java:132) ... 8 more
大家有没有遇到这种问题?请指教!