2.4 KiB
2.4 KiB
后端移除 Redis 实施记录
实施时间
- 2026-03-28
修改内容
- 为
ruoyi-common增加spring-boot-starter-test测试依赖 - 新增
InMemoryCacheStoreTest作为本地缓存基础设施的失败测试基线 - 新增
InMemoryCacheEntry、InMemoryCacheStats、InMemoryCacheStore实现本地缓存基础能力 - 将
RedisCache改为基于进程内缓存的统一门面,补充 TTL、前缀检索、批量删除、递增和统计能力 - 移除
spring-boot-starter-data-redis、commons-pool2和后端 Redis 专属配置类 - 保持认证、验证码、密码错误次数、防重提交、在线用户扫描继续依赖
RedisCache抽象 - 将限流实现改为本地窗口计数,将缓存监控改为本地统计视图
- 修正
DictUtils读取字典缓存时对本地List<SysDictData>的兼容 - 删除
application-dev.yml中的 Redis 开发配置 - 补充
RedisCacheTest、DictUtilsTest、RateLimiterAspectTest、TokenServiceLocalCacheTest、CacheControllerTest
文档路径
doc/2026-03-28-remove-redis-backend-plan.mddoc/implementation-report-2026-03-28-remove-redis-backend.md
验证结果
- 已验证
mvn -pl ruoyi-common -am -Dtest=InMemoryCacheStoreTest test通过 - 已验证
mvn -pl ruoyi-common,ruoyi-framework -am test通过 - 已验证
mvn -pl ruoyi-framework -am test通过 - 已验证
mvn -pl ruoyi-framework,ruoyi-admin -am test通过 - 已验证
mvn test通过 - 已验证
mvn -pl ruoyi-admin -am package -DskipTests通过并生成可运行包 - 已验证应用以
java -jar target/ruoyi-admin.jar --server.port=18080成功启动,日志中未出现 Redis 初始化失败 - 已手工验证
/captchaImage、/login/test、/getInfo、/monitor/online/list、/monitor/cache、/monitor/cache/getNames、/monitor/cache/getKeys/login_tokens:、/system/config/refreshCache、/system/dict/type/refreshCache可正常返回 - 已手工验证验证码缓存前缀清理成功,在线用户强退后原 token 再访问在线列表返回
401
说明
- 启动校验时仓库根目录直接执行
mvn -pl ruoyi-admin -am spring-boot:run会落到聚合pom,因此改为先本地打包再使用java -jar启动 - 首次以
8080启动时因本机端口占用失败,改用18080后启动成功;该问题与 Redis 移除无关 - 测试和手工验证结束后,已主动停止本次任务拉起的 Java 进程