page contents

Jedis连接redis无法连接问题

Pack 发布于 2020-02-22 18:59
阅读 849
收藏 0
分类:nosql缓存

Jedis连接redis无法连接问题

本人初学redis,如果问题过傻,请多担待。

自己购买的阿里云服务器。

java中使用Jedis连接服务器

代码

attachments-2020-02-cfW1zDTF5e51095cb9a8e.png


报错信息

attachments-2020-02-ASSWVpCv5e51096ad96f8.png

网上查了很多解决方案:

1.修改redis.conf ,注释bind,修改 protected-mode 为no,

2.关闭了防火墙

都依然无法连接。


还会出现连接timeout的问题。


我有几个问题,请了解的人解析一下:

1.代码new Jedis(ip,port),

ip是什么?电脑IP?服务器公网IP?redis默认的127.0.0.1?redis.conf配置文件中bind指定的ip?


我在xshell中是可以set和get的

为什么可以执行

redis-cli -h 127.0.0.1 -p 6379

redis-cli -h 127.0.0.2 -p 6379

redis-cli -h 127.0.0.3 -p 6379 

都可以set 和get,请问这到底是什么原理?我在这么多的不同的ip下set那么多的值,我在java端怎么取?


3.redis.conf配置文件中的bind 的具体是什么作用,网上说不注释的话就只能通过指定的ip访问。我换了不同的ip,重新启动查看进程,就会无法显示进程,直接注释掉又可以显示进程。

422
Pack
Pack

bind 0.0.0.0
protected-mode no
这两处改下就可以了

redis3.2版本后新增protected-mode配置,默认是yes,即开启。设置外部网络连接redis服务

1、关闭protected-mode模式,此时外部网络可以直接访问

2、开启protected-mode保护模式,需配置bind ip或者设置访问密码

bind 默认是127.0.0.1,也就是本地回环地址。这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接

请先 登录 后评论