关于Jedis连接redis出现问题

解决Redis连接超时问题
本文介绍了一个关于使用Java连接Redis服务器出现连接超时的问题及其解决方案。通过排查发现,问题根源在于开发电脑开启了代理,影响了网络连接。文章还提供了一段示例代码并对比了不同操作系统下的表现。

 环境说明:

redis服务器系统:ubuntu  

ip 192.168.10.9

port 6379

两台电脑:一个作为专门的服务器,一个是开发环境,以下一顿操作皆基于开发环境。

  

就这样的简单的代码连接redis服务器

import redis.clients.jedis.Jedis;

public class Test {
	public static void main(String[] args) {
		Jedis jedis = new Jedis("192.168.10.9");
		jedis.auth("ldd");
		jedis.set("age", "1");
	 System.out.println(jedis.get("age"));
	}
}

 但是却出现了下面的异常: 

Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
	at redis.clients.jedis.Protocol.process(Protocol.java:79)
	at redis.clients.jedis.Protocol.read(Protocol.java:131)
	at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:162)
	at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:72)
	at redis.clients.jedis.Connection.sendCommand(Connection.java:79)
	at redis.clients.jedis.Connection.sendCommand(Connection.java:75)
	at redis.clients.jedis.BinaryClient.auth(BinaryClient.java:499)
	at redis.clients.jedis.Jedis.auth(Jedis.java:1963)
	at testfinal.Test.main(Test.java:8)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
	at java.net.SocketInputStream.read(SocketInputStream.java:170)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at java.net.SocketInputStream.read(SocketInputStream.java:127)
	at redis.clients.util.RedisInputStream.fill(RedisInputStream.java:109)
	at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:45)
	at redis.clients.jedis.Protocol.process(Protocol.java:64)
	... 8 more

  重点是:用命令行客户端就能正常连接。PS: 同一个电脑。

真的,需要研究一下原因。

不知道有没有知道的朋友可以指点一二。

百度一下,有的说需要将超时时常设置长一点,但是我设置成100000也没用。还是会报错。错误这里没有贴。

换成windows系统,便可正常执行。看来跟mac本身有关呀。

折腾了几天。

真是醉了。

终于,找到了原因:

我的电脑开了代理。导致网络不行。

吐了一口老血,涨了一点教训。

不过找到原因了,很开心。

 

转载于:https://www.cnblogs.com/ld-swust/p/6002482.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值