一般远程连接redis失败的原因是防火墙问题,可以先看看防火墙是否关闭。
而我的报错则是下面的信息:
redis.clients.jedis.exceptions.JedisConnectionException: Failed to connect to any host resolved for DNS name.
这不是防火墙的问题,也是不知道什么问题,我的代码如下
import redis.clients.jedis.Jedis;
public class RedisStringJava {
public static void main(String[] args) {
//连接远程的 Redis 服务
Jedis jedis = new Jedis("xxx.xxx.xxx.xxx",6379);
jedis.auth("xxxxxx");//密码
log.d("connect",jedis.ping());
}
}
就是常规的使用方式,但是出错了。
解决方法就是换一个jedis版本,之前用的最新版的4.2.3版本的jedis(可能太新了就会有莫名奇妙的bug而且才只有2人使用),之后找一个使用人多的版本,可以看到3.6.3有72人使用,所以选择了该版本,问题果然解决了。
运行成功后,显示如下: