问题遇到的现象和发生背景
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
|