redisson-spring-boot-starter Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6381

简介: redisson-spring-boot-starter Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6381

首先背景是这样得,正在开发一个防止重复提交得spring-boot-starter ,公司临时需要在单机笔记本部署一下sentinel redis 集群,为了简单我做了个了个docker-compose 以及一些redis.conf 和sentinel.conf ,然后用redis-cli 测试了下master节点,没问题,数据可以保存可以查询,觉得没问题了,于是开始继续我得工作,我的spring-boot-starter 内部引用的是ression ,想着反正笔记本的单机版本搭建完了,那我正好用ression 连接那个sentinel集群开发,就当测试了,但是启动后却一直报错如下:


Caused by: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: 127.0.0.1/127.0.0.1:6381


于是我开始排查是不是我哪里配置没有生效导致用了他默认的配置,但是排查了之后发现没有漏掉的配置,无奈之下只能开始跟踪ression 源码,功夫不负有心人,在sentinelConnectionManager 类的里面发现些问题


1.png1.png

在里面connection.sync 方法返回的slaves 居然多了两个 slave,本来我只有一个master ,两个slave,现在为了四个,而且其中还有俩是127.0.0.1:6381  127.0.0.1:6380


再来看  connection.sync 方法

1.png

这个本身只是一个发送命令,所以返回值不可能是我们配置的程序配置出来的,而是确实从master 获取到了4个 slaves ,所以基本就确定了,肯定是服务端配置哪里有了问题,要不就是刚刚配置的有问题,要么就是原来笔记本的虚拟机离有一套redis服务干扰了新部署的集群,于是重新查看配置文件发现如下:

1.png

果然,这个 配置是原来的忘记改了,所以变成了自己注册自己,但后sentinel又将这个节点当作一个slave 返回给了主机,所以返回slaves 会多两个个127.0.0.1 6380 6381,然后在检验时候本地一直无法连接这俩ip 端口,会一直报错,改了之就没问题了,


总结起来还是自己马虎造成的问题,希望大家引以为戒

相关文章
|
NoSQL 安全 Java
深入理解 RedisConnectionFactory:Spring Data Redis 的核心组件
在 Spring Data Redis 中,`RedisConnectionFactory` 是核心组件,负责创建和管理与 Redis 的连接。它支持单机、集群及哨兵等多种模式,为上层组件(如 `RedisTemplate`)提供连接抽象。Spring 提供了 Lettuce 和 Jedis 两种主要实现,其中 Lettuce 因其线程安全和高性能特性被广泛推荐。通过手动配置或 Spring Boot 自动化配置,开发者可轻松集成 Redis,提升应用性能与扩展性。本文深入解析其作用、实现方式及常见问题解决方法,助你高效使用 Redis。
1330 4
|
NoSQL Java 关系型数据库
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 介绍
本文介绍在 Spring Boot 中集成 Redis 的方法。Redis 是一种支持多种数据结构的非关系型数据库(NoSQL),具备高并发、高性能和灵活扩展的特点,适用于缓存、实时数据分析等场景。其数据以键值对形式存储,支持字符串、哈希、列表、集合等类型。通过将 Redis 与 Mysql 集群结合使用,可实现数据同步,提升系统稳定性。例如,在网站架构中优先从 Redis 获取数据,故障时回退至 Mysql,确保服务不中断。
467 0
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 介绍
|
8月前
|
NoSQL Java 调度
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
分布式锁是分布式系统中用于同步多节点访问共享资源的机制,防止并发操作带来的冲突。本文介绍了基于Spring Boot和Redis实现分布式锁的技术方案,涵盖锁的获取与释放、Redis配置、服务调度及多实例运行等内容,通过Docker Compose搭建环境,验证了锁的有效性与互斥特性。
771 0
分布式锁与分布式锁使用 Redis 和 Spring Boot 进行调度锁(不带 ShedLock)
|
10月前
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
774 2
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
369 32
|
10月前
|
前端开发 Java API
Spring Cloud Gateway Server Web MVC报错“Unsupported transfer encoding: chunked”解决
本文解析了Spring Cloud Gateway中出现“Unsupported transfer encoding: chunked”错误的原因,指出该问题源于Feign依赖的HTTP客户端与服务端的`chunked`传输编码不兼容,并提供了具体的解决方案。通过规范Feign客户端接口的返回类型,可有效避免该异常,提升系统兼容性与稳定性。
730 0
|
NoSQL Java API
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Spring Boot 集成 Redis
本文介绍了在Spring Boot中集成Redis的方法,包括依赖导入、Redis配置及常用API的使用。通过导入`spring-boot-starter-data-redis`依赖和配置`application.yml`文件,可轻松实现Redis集成。文中详细讲解了StringRedisTemplate的使用,适用于字符串操作,并结合FastJSON将实体类转换为JSON存储。还展示了Redis的string、hash和list类型的操作示例。最后总结了Redis在缓存和高并发场景中的应用价值,并提供课程源代码下载链接。
2758 0
|
NoSQL Java Redis
微服务——SpringBoot使用归纳——Spring Boot 中集成Redis——Redis 安装
本教程介绍在 VMware 虚拟机(CentOS 7)或阿里云服务器中安装 Redis 的过程,包括安装 gcc 编译环境、下载 Redis(官网或 wget)、解压安装、修改配置文件(如 bind、daemonize、requirepass 等设置)、启动 Redis 服务及测试客户端连接。通过 set 和 get 命令验证安装是否成功。适用于初学者快速上手 Redis 部署。
412 0
|
存储 NoSQL Java
使用lock4j-redis-template-spring-boot-starter实现redis分布式锁
通过使用 `lock4j-redis-template-spring-boot-starter`,我们可以轻松实现 Redis 分布式锁,从而解决分布式系统中多个实例并发访问共享资源的问题。合理配置和使用分布式锁,可以有效提高系统的稳定性和数据的一致性。希望本文对你在实际项目中使用 Redis 分布式锁有所帮助。
1208 5

热门文章

最新文章