当前位置: 首页 > article >正文

redisson 连接 redis5报错 ERR wrong number of arguments for ‘auth‘ command

依赖版本

org.redisson:redisson-spring-boot-starter:3.25.2

现象

启动报错

org.redisson.client.RedisException: ERR wrong number of arguments for ‘auth’ command. channel: [xxx] command: (AUTH), params: (password masked)

原因

redis6以下版本认证参数不包含用户名,如果参数包含用户名密码两个,则会报参数数量错误异常

yml配置文件不能配置spring.data.redis.username项目,即使配置为null或者~也不行,会被解析为空字符串作为认证参数传输

解决

如果需要使用如下配置通过环境变量注入属性,又需要兼容redis6以下版本,可以通过RedissonAutoConfigurationCustomizer实现

spring:  
  data:  
    redis:  
      password: ${REDIS_PWD}
      username: ${REDIS_USER:} # 不能配置此项

RedissonAutoConfigurationCustomizer

@Bean  
RedissonAutoConfigurationCustomizer redissonAutoConfigurationCustomizer(RedisProperties redisProperties) {  
    return config -> {  
        if (StringUtils.isBlank(redisProperties.getUsername())) {  
            if (config.isClusterConfig()) {  
                config.useClusterServers().setUsername(null);  
            } else if (config.isSentinelConfig()) {  
                config.useSentinelServers().setUsername(null);  
            } else if (config.isSingleConfig()) {  
                config.useSingleServer().setUsername(null);  
            }  
        }  
    };  
}

http://www.kler.cn/a/507313.html

相关文章:

  • C#-方法(函数)
  • ginx: [error] open() “/run/nginx.pid“ failed (2: No such file or directory)
  • 闪豆多平台视频批量下载器
  • 利用爬虫获取某学习软件的考试题库(带源码)
  • 计算机组成原理(计算机系统3)--实验二:MIPS64乘法实现实验
  • qml LevelAdjust详解
  • Android Studio:Linux环境下安装与配置
  • Maven私服+统一切换项目版本
  • 自动驾驶3D目标检测综述(八)
  • WebSocket 实时聊天
  • 机器学习——逻辑回归
  • CFD 预测中的机器学习:在 Benchmark 应用程序上使用 Stochos
  • 使用Newtonsoft.Json插件,打包至Windows平台显示不支持
  • vite vue 动态导入图片
  • 常用的C库函数与头文件
  • laravel10.x 框架中间件实现原理
  • 使用 Tailwind CSS 的几点感触
  • 什么是基础镜像
  • 解决:ubuntu22.04中IsaacGymEnv保存视频报错的问题
  • 【Python通过UDP协议传输视频数据】(界面识别)
  • 基于微信小程序的摄影竞赛系统设计与实现(LW+源码+讲解)
  • 蓝桥杯算法|基础笔记(1)
  • 基于JavaFX+Mysql实现的报刊订阅管理系统
  • vite功能之---npm 依赖解析和预构建
  • 力扣解题汇总_JAVA
  • 仿射密码实验——Python实现(完整解析版)