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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 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 端口,会一直报错,改了之就没问题了,


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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
NoSQL 网络协议 Linux
Redis的实现一:c、c++的网络通信编程技术,先实现server和client的通信
本文介绍了使用C/C++进行网络通信编程的基础知识,包括创建socket、设置套接字选项、绑定地址、监听连接以及循环接受和处理客户端请求的基本步骤。
80 6
|
2月前
|
存储 NoSQL Java
使用lock4j-redis-template-spring-boot-starter实现redis分布式锁
通过使用 `lock4j-redis-template-spring-boot-starter`,我们可以轻松实现 Redis 分布式锁,从而解决分布式系统中多个实例并发访问共享资源的问题。合理配置和使用分布式锁,可以有效提高系统的稳定性和数据的一致性。希望本文对你在实际项目中使用 Redis 分布式锁有所帮助。
210 5
|
3月前
|
消息中间件 NoSQL Java
Spring Boot整合Redis
通过Spring Boot整合Redis,可以显著提升应用的性能和响应速度。在本文中,我们详细介绍了如何配置和使用Redis,包括基本的CRUD操作和具有过期时间的值设置方法。希望本文能帮助你在实际项目中高效地整合和使用Redis。
116 2
|
4月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
104 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
4月前
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
238 2
|
3月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
90 0
|
4月前
|
NoSQL Java Redis
在 Spring 中操作 Redis
本文详细介绍了在Spring框架中如何通过引入依赖、配置文件、使用StringRedisTemplate类以及执行原生命令等方式来操作Redis数据库,并提供了对String、List、Set、Hash和ZSet数据类型的操作示例。
161 0
在 Spring 中操作 Redis
|
5月前
|
NoSQL 网络协议 Java
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
68 7
|
5月前
|
NoSQL Java 网络安全
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
[Redis] 渐进式遍历+使用jedis操作Redis+使用Spring操作Redis
|
4月前
|
存储 NoSQL Java
Spring Boot项目中使用Redis实现接口幂等性的方案
通过上述方法,可以有效地在Spring Boot项目中利用Redis实现接口幂等性,既保证了接口操作的安全性,又提高了系统的可靠性。
90 0