java中远程连接redis要注意以下几点:
1)ip和端口号不正确
2)虚拟机中防火墙的原因(可能性较大)
3)redis.conf 中bind 127.0.0.1 未用#注释掉
4)未取消保护模式
1、 第一种请仔细检查ip和端口号
2、connect timed out 连接超时
请检查是否开启redis以及ip、端口号是否正确,正确的话一般是防火墙没有开放6379端口的问题
1.开放6379端口——iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
2.查看端口开放情况——iptables -L -n 或者 service iptables status
4.注意:上面使用iptables添加/删除规则都是临时的,如果需要重启也生效,就要保存修改:
service iptables save 或者 /etc/init.d/iptables save
3、Connection refused 拒绝访问
修改redis.conf配置文件,使用vim命令打开,找到bind 127.0.0.1修改为bind 0.0.0.0,wq保存退出,重启redis-server。
修改完之重启之后可以通过如下命令查看:ps -ef | grep redis
结果如下0.0.0.0:6379就可以了
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190727161618823.png)
4、DENIED Redis is running in protected mode (保护模式)
报错信息很长,但是主要是说redis开启了protected mode,这也是Redis3.2加入的新特性,开启保护模式的redis只允许本机登录,链接redis 时只能通过本地localhost (127.0.0.1)这个来链接,而不能用网络ip(192.168..)这个链接,问题然如果用网络ip 链接会报以上错误:
处于保护模式,本地链接,同样修改redis.conf配置文件
1)关闭保护模式将protected-mode yes改为protected-mode no