Java使用Jedis:Connection refused解决方案

问题

今天想自己做个demo,使用jedis连接自己安装的redis发现报错了,本能反应是查看防火墙,查完防火墙后开放端口,依旧不行,原来还需要修改一些redis本身的配置。redis配置文件中有一个bind配置,指定哪些ip可以连接到redis数据库,默认配置为127.0.0.1。具体修改看解决方案。
代码如下:
public static void testUnUsed(){
long currentTimeMillis = System.currentTimeMillis();
Jedis jedis = new Jedis("192.168.20.188", 6379);
for (int i = 0; i < 1000; i++) {
jedis.set("test" + i, "test" + i);
}
long endTimeMillis = System.currentTimeMillis();
System.out.println(endTimeMillis - currentTimeMillis);
}

报错信息如下:

redis.clients.jedis.exceptions.JedisConnectionException: 
java.net.ConnectException: Connection refused: connect

解决方案

  1. 开放端口
#/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT  
#/etc/rc.d/init.d/iptables save 
  1. 关闭redis
redis-cli -p 6379 shutdown
  1. 修改redis配置文件,我的目录在/etc/redis/下6379.conf,将bind 127.0.0.1注释掉,将protected mode yes 修改成protected mode no
  2. 重启redis,我写了脚本,开机自启,放在了/etc/init.d/下
./redis_6379 start
//普通的启动方式是
./redis-server redis.conf

猜你喜欢

转载自blog.csdn.net/zh15732621679/article/details/80651987