Cannot get Jedis connection,Could not get a resource from the pool,DENIED Redis is running in protec

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tangyaliang11/article/details/79981826

一个新项目使用redis做纯缓存,在本机中无障碍使用,redis放到服务器就出现上面的错误。

折腾了小一天排查各种可能性终于解决问题。最后不使用任何框架直接使用jedis 才发现问题的根本是redis开启了保护模式。

解决如下:连接redis客户端,使用命令

  1. 127.0.0.1:6379> config set protected-mode "no"  

搞定。

根据一天的收拢连接不上redis存在的其他可能性。

1、redis没有启动(好囧,真的出现过这种情况)。

2、ip 或 host 不正确。

3、端口没有开放。在redis官群里有问同学说他有一次出现这个问题是因为16379端口没有开放。

4、注释掉reids.conf 的bind  。

=====================前方高能=====================

在新装的redis中,默认开启redis保护模式,只能本地访问。

解决办法在protected-mode配置项目上说的很明白了,

或、绑定ip地址bind ip

或、添加连接密码项requirepass password

或、关闭保护模式protected-mode no

值得说的是我就这么搞了也不好使,后来通过config get * 命令发现redis默认读取的配置文件竟然不是我修改的redis.conf(原因待查)。启动时指定配置文件后成功。

最终我的配置是,bind 本机固定ip, protected-mode yes,requirepass password。

最后web端成功连接,redis客户端连接方式 /redis-cli -h ip -p host -a password。

猜你喜欢

转载自blog.csdn.net/tangyaliang11/article/details/79981826