Caused by: org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required.. channel: [id: 0xb69af293, L:/127.0.0.1:46252 - R:localhost/127.0.0.1:6379] data: CommandData [promise=RedissonPromise [promise=ImmediateEventExecutor$ImmediateProm
时间: 2025-03-18 17:26:55 浏览: 35
解决 Redisson 客户端连接到 Redis 时的身份验证问题
当使用 Redisson 宥客端连接 Redis 并遇到 org.redisson.client.RedisAuthRequiredException: NOAUTH Authentication required
的异常时,这意味着 Redis 服务器已启用密码保护功能,而客户端未提供正确的密码认证。以下是详细的解决方案。
配置 Redis 密码认证
为了使 Redisson 正确连接到启用了密码保护的 Redis 实例,需要在 Redisson 的配置文件或代码中设置密码字段。可以通过以下方式实现:
通过 XML 配置 如果您正在使用基于 XML 文件的方式初始化 Redisson,则可以在
<password>
节点下指定 Redis 的密码。<bean id="config" class="org.redisson.config.Config"> <property name="useSingleServer"> <value>true</value> </property> <property name="singleServerConfig"> <bean class="org.redisson.config.SingleServerConfig"> <property name="address" value="redis://127.0.0.1:6379"/> <property name="password" value="your_redis_password"/> <!-- 设置密码 --> </bean> </property> </bean>
通过 Java API 配置 使用 Java 编程接口创建 RedissonClient 对象时,可以显式传递密码参数给单机模式或多节点集群模式下的配置类。
import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; public class RedissonExample { public static void main(String[] args) { Config config = new Config(); config.useSingleServer() .setAddress("redis://127.0.0.1:6379") // Redis 地址 .setPassword("your_redis_password"); // 设置密码 RedissonClient redisson = Redisson.create(config); try { System.out.println("Connected to Redis successfully."); } finally { redisson.shutdown(); // 关闭资源 } } }
上述代码片段展示了如何通过编程方式向 Redis 提供密码认证[^4]。
- YAML 或 JSON 配置 如果您更倾向于 YAML 或 JSON 格式的配置文件,也可以按照如下方式进行定义:
# YAML Configuration Example
---
singleServerConfig:
address: "redis://127.0.0.1:6379"
password: "your_redis_password" # 添加此行用于密码认证
threads: 0
nettyThreads: 0
codec: !<org.redisson.codec.JsonJacksonCodec> {}
或者对于 JSON 用户来说,
{
"singleServerConfig": {
"address": "redis://127.0.0.1:6379",
"password": "your_redis_password", /* 添加此项 */
"connectionPoolSize": 10,
"subscriptionConnectionPoolSize": 5
},
"threads": 0,
"nettyThreads": 0
}
以上方法均能有效解决因缺少密码而导致的身份验证失败问题[^3]。
注意事项
确保所提供的密码与 Redis Server 中设定的一致。如果不确定当前使用的密码,请检查 Redis 配置文件中的
requirepass
参数值。测试环境和生产环境中可能采用不同的安全策略,请分别调整对应的配置项以适应实际需求。
相关推荐


















