redis连接超时

今天在用jedis连接远程的 Redis时,抛出连接超时异常:connect timed out。具体信息如下:
  1. Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out  
  2.     at redis.clients.jedis.Connection.connect(Connection.java:142)  
  3.     at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:75)  
  4.     at redis.clients.jedis.Connection.sendCommand(Connection.java:83)  
  5.     at redis.clients.jedis.BinaryClient.set(BinaryClient.java:92)  
  6.     at redis.clients.jedis.Client.set(Client.java:23)  
  7.     at redis.clients.jedis.Jedis.set(Jedis.java:53)  
  8.     at com.ado.test.redis.RedisTest.main(RedisTest.java:10)  
  9. Caused by: java.net.SocketTimeoutException: connect timed out  
  10.     at java.net.PlainSocketImpl.socketConnect(Native Method)  
  11.     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)  
  12.     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)  
  13.     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)  
  14.     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)  
  15.     at java.net.Socket.connect(Socket.java:529)  
  16.     at redis.clients.jedis.Connection.connect(Connection.java:137)  
  17.     ... 6 more  

    经过确认,排除了几种可能:

    1、服务器地址配置错误。(经确认,配置无误。)

    2、redis连接数量过多。(经确认,没有任何连接在redis服务器上。)

    查看jedis连接源码,也没发现有什么异常,于是怀疑是redis主机的问题。使用telnet命令进行测试,发现也是连接不上。于是怀疑是redis服务器防火墙没关闭。

    查看服务器防火墙状态:

  1. service iptables status  


    关闭防火墙:

  1. service iptables stop  


    然后再进行连接,这次就很快连接成功了。问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值