首页 > 数据库 >【Redis】一次报错小记

【Redis】一次报错小记

时间:2023-05-04 19:24:01浏览次数:47  
标签:redisConfig redis 配置 Redis 报错 引入 解析 小记

背景

当时是这样子的,业务系统开发,当时主责开发一个模块,突然某一天,它就启动不了了, 报了一个错:ERR This instance has cluster support disabled (Redis的报错提示)
嗯,就是这个东西。很迷,一直都是好的,咋突然就不行了呢?

明明就没有用到 redis , 怎么会报这个错呢, 虽然依赖里面引入了,但从来没有用过啊,代码里面除了父级目录的 pom.xml 下引入了 redis (其实当前这个模块是不需要用的),但父级用了就用吧,之前也没啥毛病。

唯一有变化的就是,配置中心里面添加了 redis 配置的引用,就是 include 那个啥。

但这也不应该说就造成。。。报错吧?毕竟,不是没有用到么?它干嘛要报这个错呢。真真没有想清楚。

定位过程

1、把代码回滚很久之前,还是报错,说明不是代码层面的问题。
2、那还能 啥问题呢?

突然想起,这个模块不是明明就没有用到redis 吗?为什么配置中心要把 redis 的配置给引进来呢?—— 突然想到什么。。。,之前开过另外一个分支,做性能优化的,引入了redis,于是在配置中心加入了 redis 的配置。难道???是因为这个原因?

总结原因

1、因为在另外一个分支调试性能,修改了配置中心,引入了redis的配置
2、redis 的配置写的是集群方式,但redis 实质是单点的,所以这种解析是需要自定义 redisConfig 类的
3、只引入了 redis 配置,但是与redis 单机部署的方式冲突了,同时没有引入 redisConfig, 以上几种因素,导致报了这个错
4、如果不引入 redis 配置,那它也不会去解析了,也不会报错了。

问题解决

1、把配置中心的 redis 配置去掉之后,竟然就好了。。。。好了!!
2、emmmmmmmm,还能说啥呢。原因就这个。即使代码里面没有用到类似于 redisTemplate 之类的东西,只要在Pom.xml 上引用了,并且又配置了redis,并且又没有重写解析 RedisConfig 类(当时配置的是集群,但实际上部署的是单机,所以就出现了这个问题)。
3、知道这个原因后,把redis配置去掉之后,就好了。另外一个解决方案就是:引入自定义的 redisConfig配置解析类,也可以了。
4、再或者:把redis的配置,写成单点的,这样的就不需要引入自定义的 redisConfig 配置类,这样它默认的策略能解析了,也行。反正就刚好这些各种不规范的操作导致的这一次。。。差点引发的事故。



嗯,又吃了一记教训。

标签:redisConfig,redis,配置,Redis,报错,引入,解析,小记
From: https://www.cnblogs.com/aaacarrot/p/17372244.html

相关文章

  • springboot单元测试中添加了@Autowired任然报错nullpoint(已解决)
     使用了autowired还是报错空指针异常说明就是包没有导入,springboot导包的操作在于启动application类,所以问题就在于没有单元测试时没有启动主类,解决方法:@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes=SaTokenDemoApplication.class)加上如上的注解,@runwi......
  • linux find命令只输出结果 不输出报错信息
     find/-name"*filename*"2>/dev/null *filename*改成你想要查找的文件即可,模糊查找请加上相应的通配符 转自:https://blog.csdn.net/qq_35544379/article/details/111401707  ......
  • django-channel 配置 channel layer 添加redis的账号和密码
    最近公司要使用django-channel搭建socket, 文档:https://channels.readthedocs.io/en/stable/introduction.html文档里面并没有写如果redis有账号和密码的话,怎么配置。配置方法:https://github.com/django/channels/issues/164#issuecomment-220513297如下:CHANNEL_LAYERS......
  • Python报错:Can't connect to HTTPS URL because the SSL module is not available
    参考文章:(32条消息)Can‘tconnecttoHTTPSURLbecausetheSSLmoduleisnotavailable-关于anaconda中的SSL模块错误_anacondahttps报错_Sky_Tree_Delivery的博客-CSDN博客具体操作:将以下文件移动位置D:\Anaconda\Library\bin->D:\Anaconda\DLLs(此处D盘为我自己的安......
  • 报错汇总
    ERROR1799(HY000):Creatingindex'PRIMARY'requiredmorethan'innodb_online_alter_log_max_size'bytesofmodificationlog.Pleasetryagain.该日志文件存储了DDL操作期间对表的insert,update,delete的数据记录临时日志文件每次以innodb_sort_buffer_size为单位进......
  • vCenter报错:Log Disk Exhaustion on 10
    vCenter报错:LogDiskExhaustionon101、问题现象:巡检时发现vCenterServer中,错误显示为:LogDiskExhaustionon10(字面意思是日志磁盘耗尽),VC版本6.7在浏览器输入https://appliance-IP-address-or-FQDN:5480,通过5480端口登录VAMI(vCenterServerApplianceManagementI......
  • 我设计了个【方案】:比redis好10倍的kv库【一统kv】
    我设计的redis9.0方案:redis自带中间件基于ssd磁盘,此我设计了比redis更好的缓存方案。此方案:没有缓存击穿问题。没有缓存雪崩问题。没有缓存污染问题。没有热key问题。不需要snap和aof。支持任何sql库,sql库不需要带有任何分布式功能。 基于ssd磁盘,此我设计了比redis更好的缓存方......
  • redis集成
    1、linux下源码安装redis官网http://redis.io下载redis解压tar-zvsfredis-7.0.11.tar.gz移动到usr/local路径下mvredis-7.0.11/usr/local/redis进入redis文件夹cd/usr/local/redis使用两个cpu编译文件,速度快点。因为服务器是2核,根据自己配置即可make-j2将编......
  • Nacos修改权重报错caused: errCode: 500, errMsg: do metadata operation failed ;caus
    今天修改Nacos权重时报错如下:caused:errCode:500, caused:errCode:500,errMsg:dometadataoperationfailed;caused:com.alibaba.nacos.con。解决方案:停掉nacos服务将nacos文件夹下data中的protocol文件夹删除重启nacos服务即可 ......
  • github报错Failed to connect to github.com port 443 after 21313 ms: Couldn't conn
    github报错Failedtoconnecttogithub.comport443after21313ms:Couldn'tconnecttoserver网络连接问题,我开vpn了。github报错Recvfailure:Connectionwasreset该错误通常表示网络连接问题,可能是您的Internet连接出现问题或GitHub服务器上的连接问题。刷新重新登......