springBoot连接远程Redis连接失败(已解决)

这篇具有很好参考价值的文章主要介绍了springBoot连接远程Redis连接失败(已解决)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题:

首先,我是先用jedis进行的redis连接,成功连接,没有任何问题,说明redis配置,以及访问地址、端口、密码都是正确的。

我的yml文件配置如下:

spring:
  redis:
    host: 远程ip地址
    port: 6379
    password: 密码

但是当我使用springboot里面的redisTemplate进行连接的时候,却发生了报错,报错信息如下

OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis
.....

Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost/<unresolved>:6379
......
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:6379
.....
Caused by: java.net.ConnectException: Connection refused: no further information
.....

然后我就很奇怪,同样的访问,为什么使用jedis能够成功,但是使用redisTemplate就会失败

解决过程:

目光看向报错信息,Caused by: io.lettuce.core.RedisConnectionException: Unable to connect to localhost/<unresolved>:6379,这段表示在连接本地的redis的时候失败了,???,我本地没有安装redis,当然连接不上了,但是为什么我配置的远程ip,会连接到本地!

由于在springBoot中每个配置项都会有一个默认的自动配置类与之对应,我这里配置了但是没效果,显然配置失败,项目使用默认的localhost进行连接的,那为啥会配置失败呢

在我查了半天教程之后,总算在一篇教程里面发现了类似的情况,如下:

升级springboot3.x踩坑记录-CSDN博客

上面这篇文件就是,作者在从spirngBoot2升到3之后redis连接失败了,查看了源码之后发现redis的前缀发生了改变!!!

而我使用的是spirngBoot3,上面的yml配置方法是springBoot2的配置方法,所以产生了配置失效!

解决方法:

根据源码可知,springboot3中redis的前缀从“spring.redis”变成了"spring.data.redis"

因此我们的配置文件,需要再中间加一个data!

spring:
  data:
    redis:
      host: 39.104.26.173
      port: 6379
      password: wen200389

这样就能够成功连接了!

总结:

一定要注意,不同的springboot版本,对应的配置文件的格式,有可能会发生改变,需要及时更正

还有就是,遇到问题,多看源码!!许多问题真的能够通过看源码解决文章来源地址https://www.toymoban.com/news/detail-853936.html

到了这里,关于springBoot连接远程Redis连接失败(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot连接Redis失败报错:Unable to connect to Redis; (小白篇)

    学习redis一段时间了,现在开始使用springboot整合redis,实现Java与redis数据库的连接与一系列的使用。 但刚开始就给我来了个下马威,直接寄,连接不上redis,在swagger的报错如下: Unable to connect to Redis; nested exception is org.springframework.data.redis.connection.PoolException: Could not get a reso

    2024年02月07日
    浏览(59)
  • SpringBoot连接远程服务器redis

    进入redis安装地址,我这里安装的是 /usr/local/src/redis-6.2.6 先copy一份配置文件 然后修改配置文件信息 vim redis.conf 启动redis 去云服务器安全组中开放端口 重启防火墙 查看6379的防火墙状态 1、Spring-redis依赖 2、配置redis的信息 3、运行

    2024年01月19日
    浏览(59)
  • vscode远程连接失败解决方案

    1、在vscode SSH扩展设置中配置config文件的绝对位置, 该文件一般位于.ssh文件夹中( C:Users你的用户名.sshconfig  ) 2、删除known_hosts文件,该文件一般和config配置文件一样在.ssh文件夹中( C:Users你的用户名.sshknown_hosts  )  3、若删除了该文件之后仍然连接失败,尝试在命

    2024年02月09日
    浏览(57)
  • Vscode ssh远程连接失败解决办法

    Vscode 通过remote - ssh连接远程ubuntu时出现\\\"192.168.x.x\\\" has fingerprint “SHA256:…”,如下图所示: 按照提示选择“continue”,然后输入正确密码却显示Permission Denied(以往连接都很顺利,没有出现过问题) 尝试根据报错提示找到解决问题的办法:   从输出的错误提示显示似乎是无

    2023年04月08日
    浏览(43)
  • Springboot 集成 Redis集群配置公网IP连接报私网IP连接失败问题

    创建6个配置文件:redis-6381.conf,redis-6382.conf,redis-6383.conf,redis-6384.conf,redis-6385.conf, redis-6386.conf。配置文件内容如下: 1:代码配置 2:yml 配置 让Redis暴露公网IP其实在redis.conf配置文件里是能找到的,这里我们可以手动指定Redis的公网IP、端口以及总线端口(默认服务端口加10000)。

    2024年02月01日
    浏览(37)
  • 【SpringBoot3】Spring Boot 3.0 集成 Redis 缓存

    Redis缓存是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它主要用于作为数据库、缓存和消息中间件,以快速读写和丰富的数据结构支持而著称。 在应用程序和数据库之间,Redis缓存作为一个中间层起着关键

    2024年02月21日
    浏览(52)
  • vscode远程连接开发机失败/解决方案大合集

    channel 1: open failed: administratively prohibited: open failed channel 2: open failed: administratively prohibited: open failed channel 3: open failed: administratively prohibited: open failed channel 4: open failed: administratively prohibited: open failed channel 5: open failed: administratively prohibited: open failed channel 1018: open failed: administ

    2024年02月05日
    浏览(42)
  • Spring Boot读取resource目录下文件失败解决方案及分析

    最近有个需求,就是需要从resource目录下读取文件返回给用户。在idea中运行时,有些resource下文件读取工具类能够正常获取读取到文件。但是通过java –jar的方式去运行jar包,此时resource下文件读取工具类读取文件就失效了。通过查询搜索,了解到了是读取的方式导致文件读取

    2024年02月05日
    浏览(55)
  • 问题解决——datagrip远程连接虚拟机中ubuntu的mysql失败

    情况 :datagrip远程win11系统下虚拟机里的ubuntu20.04的mysql,连接失败。 1 如果是防火墙没开放3306端口,则需要开放:linux 3306端口无法连接 无法通过防火墙的解决办法 2 如果是3306端口绑定了本地ip,则需要解绑:DataGrip远程连接服务器MySQL

    2024年02月15日
    浏览(58)
  • redis远程连接不上解决办法

    问题描述: redis远程服务端运行在192.168.3.90计算机上,客户端计算机(ip:192.168.3.110)通过redsi-cli.exe客户端工具连接时,没有反应,连接不上。 如图所示: 解决步骤: 步骤一:注释掉redis.window.conf文件中的bind属性设置。 如图所示:     步骤二:把protected-mode属性设置no    

    2024年01月21日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包