Java连接虚拟机linux环境下的redis时报错

Java连接虚拟机linux环境下的redis时报错

在通过Java连接虚拟机Linux环境下的redis时,一直提示:Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out

网上有说法说关闭虚拟机的防火墙即可,但关闭后再重连发现依旧报错,这次的错误信息是:Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect

解决方案是:修改redis的配置文件:1、将端口号127.0.0.1注释掉,这样任何IP都能访问;2、修改protected-mode,将 yes 改为 no,如图:

Java连接虚拟机linux环境下的redis时报错_第1张图片

注意修改完之后需要使用shutdown命令停止redis-server,然后重启redis-server才能生效。(注:单纯使用CTRL+C只是退出redis客户端,并没有退出redis服务端,此时即便再运行了redis-server命令,依旧不会应用修改后的配置信息)

再调用Jedis jedis = new Jedis("192.168.74.130",6379);,发现jedis.ping()返回值为PONG,连接成功

你可能感兴趣的:(java)