问题遇到的现象和发生背景
Redis是安装在腾讯云的Linux上的
可以正常连接,但是没有其他修改,一段时间(半个小时到一个小时左右)之后,又连接不上了,使用 firewall-cmd --reload重启一下防火墙后又能连接上了,求大佬们分析一下
问题相关代码,请勿粘贴截图
示例:使用jedis
@Test
void testRedis() {
redisUtils.set("hho","hihi");
System.out.println(redisUtils.get("hho"));
}
运行结果及报错内容
核心意思就是这三条报错
org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 106.55.180.122:6379
Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to 106.55.180.122:6379
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: /106.55.180.122:6379
我的解答思路和尝试过的方法
-
相关依赖
网上说的这两种办法我都尝试过
-
yum配置文件
网上说的这两种办法我都尝试过,对应上面的依赖,选择jedis还是lettuce都一样连接不上,但是报的错不一样,上面的报错我是使用jedis的,lettuce是另一种的报错
-
redis配置
daemonize yes 守护线程开启了
protected-mode no 保护模式也关了
#bind 127.0.0.1 绑定ip也注释掉了
没有使用密码 -
防火墙
腾讯云上的防火墙6379端口开启了
防火墙开了
防火墙6379端口也开放了
-
还有尝试过一些telnet的方法
尝试telnet6379,按下回车之后就变成下面这样了, 不是很懂 ,不知道这是成不成功的意思
我想要达到的结果
但是就是报错连接不上
但是如果重启防火墙 firewall-cmd --reload
又神奇的发现可以连接上redis可以使用了
但是但是但是 过了一段时间 又回到之前报错连接不上了
求各位大佬帮忙解决下
题外话
我是SpringBoot项目打包成jar部署到linux上 ,使用nohup java -jar 项目.jar & 这样的
项目中有用到redis做事务和锁,但是因为redis连不上,要自己手动登上linux去重启一下服务器才能用redis