Redis 配置与排错说明

Redis 配置与排错说明

适用项目:dkd-parent(若依 RuoYi 架构)

适用环境:本地开发,Windows 版 Redis(C:\Program Files\Redis\)

1. 应用端配置位置

Redis 连接配置在 dkd-admin/src/main/resources/application.yml:

yaml 复制代码
spring:
  redis:
    # 地址
    host: localhost
    # 端口,默认为 6379
    port: 6379
    # 数据库索引
    database: 0
    # 密码(本地 Redis 未设置密码时留空)
    password:
    # 连接超时时间
    timeout: 10s
    lettuce:
      pool:
        min-idle: 0
        max-idle: 8
        max-active: 8
        max-wait: -1ms

2. 核心原则:两边密码必须一致

Redis 的密码是服务端全局属性,客户端(应用)与服务端必须保持一致:

Redis 服务端 application.yml 的 password 结果
无密码 留空 ✅ 正常
无密码 填了值(如 root) ❌ ERR Client sent AUTH, but no password is set
有密码 留空 ❌ NOAUTH Authentication required
有密码 与服务端相同 ✅ 正常

因为多个项目常连同一个 Redis,一旦服务端设了密码,每个项目都要在各自配置里填上相同密码。

3. 本地开发建议

本地开发且 Redis 不对外网开放时,可以不设置密码 ,password 留空即可,最省事,其他项目也无需改动。

生产环境 / 服务器 / 端口对外暴露时,必须设置密码,并建议同时修改默认端口、绑定内网 IP、配置防火墙。

4. 给 Redis 设置密码(可选)

方式一:临时设置(重启 Redis 后失效)

powershell 复制代码
cd "C:\Program Files\Redis"
.\redis-cli.exe

在交互界面执行:

复制代码
CONFIG SET requirepass "root"

之后连接需带密码:.\redis-cli.exe -a root

方式二:永久设置(改配置文件)

  1. 打开配置文件:

    • 以服务方式启动:C:\Program Files\Redis\redis.windows-service.conf
    • 手动启动:C:\Program Files\Redis\redis.windows.conf
  2. 找到被注释的 # requirepass foobared,改为:

    复制代码
    requirepass root
  3. 重启 Redis 服务:

    powershell 复制代码
    Get-Service *redis*
    Restart-Service Redis
  4. 同步修改应用配置 :把 application.yml 的 password 改为 root,保持两边一致。

5. 常见报错速查

5.1 ERR Client sent AUTH, but no password is set

  • 含义:应用填了密码,但 Redis 服务端没设密码。
  • 处理:把 application.yml 的 password 留空,或给 Redis 设置相同密码。

5.2 NOAUTH Authentication required / invalid password

  • 含义:Redis 有密码,但应用没填或填错。
  • 处理:在 application.yml 填写正确密码。

5.3 Unable to connect to Redis ... localhost:6379

  • 含义:连不上 Redis(服务未启动 / 端口不对 / 未安装)。
  • 处理:确认 Redis 服务已启动(Get-Service *redis* 或任务管理器查看 redis-server.exe),端口为 6379。

5.4 启动时报 captchaController / sysConfigServiceImpl 初始化失败

  • 通常是上面 Redis 连接问题的连锁反应,先解决 Redis 连接即可。
相关推荐
XiYang-DING1 小时前
P4009.和为K的子数组个数 & P5522.异或和为 k 的子数组个数
java·开发语言
TinyKey1 小时前
malloc_debug_notes
java
郭小李1 小时前
spring @PathVariable 注解用法
java·后端·spring
用户3126874877201 小时前
Java 锁全景:synchronized、ReentrantLock、ReadWriteLock、StampedLock
java
鱼宵2 小时前
CSV 怎么做销售报表?Stream 第 9 课:读洗聚排打五段管道一次跑通
java·报表·stream
jaysee-sjc2 小时前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
w_zero_one2 小时前
算法--桶思想
java·开发语言·算法
MetaLite2 小时前
Spring 同一个类里调用 @CacheEvict,为什么缓存没清掉?
java·spring·缓存
hweiyu002 小时前
Redis命令:SMOVE
redis·缓存