Java连接Redis失败

一、测试连接代码

public static void main(String[] args) {
		//连接本地的 Redis 服务
		Jedis jedis = new Jedis("10.0.115.239",6379);
		System.out.println("Connection to server sucessfully");
		//查看服务是否运行
		System.out.println("Server is running:" + jedis.ping());
	}

二、异常信息

Connection to server sucessfully
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
	at redis.clients.jedis.Connection.connect(Connection.java:207)
	at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)
	at redis.clients.jedis.Connection.sendCommand(Connection.java:126)
	at redis.clients.jedis.Connection.sendCommand(Connection.java:121)
	at redis.clients.jedis.BinaryClient.ping(BinaryClient.java:106)
	at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:195)
	at com.haolb.redis.test.JedisTest.main(JedisTest.java:13)
Caused by: java.net.SocketTimeoutException: connect timed out
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at redis.clients.jedis.Connection.connect(Connection.java:184)
	... 6 more

三、解决思路和方法

1、查看是否启动redis服务,看到6379端口说明启动成功

2、关闭防火墙:service iptables stop

3、修改redis.conf文件,将 bind 127.0.0.1这一行注释掉,或是将127.0.0.1修改为0.0.0.0(redis默认只支持本地连接,修改为0.0.0.0时,这样就可以支持外机连接了)

4、重启redis服务

 

四、测试成功

 

posted @ 2022-08-05 09:03  我命由我不由天—hao  阅读(1160)  评论(0编辑  收藏  举报