4.9 KiB
前端移除 Redis 监控适配 Implementation Plan
For agentic workers: REQUIRED: Use superpowers:executing-plans to implement this plan. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: 在不改变前端路由与主要交互的前提下,将缓存监控页面从 Redis 专属视图调整为本地缓存监控视图,并保持缓存列表、键名列表、缓存内容与清理操作可用。
Architecture: 前端继续复用现有 /monitor/cache API 路径,不引入新的页面或状态管理。调整 monitor/cache/index.vue 的展示结构与文案,使其消费后端返回的本地缓存统计字段;list.vue 仅保留必要文案和联调适配,避免额外重构。
Tech Stack: Vue 2, Element UI, Axios, ECharts, Vue CLI
文件结构
需要修改
ruoyi-ui/src/views/monitor/cache/index.vueruoyi-ui/src/views/monitor/cache/list.vueruoyi-ui/src/api/monitor/cache.js
原则
- 不新增前端路由
- 不改接口地址
- 不引入新的前端测试框架
- 文案准确,但保持页面结构尽量稳定
Task 1: 调整缓存概览页消费本地缓存字段
Files:
-
Modify:
ruoyi-ui/src/views/monitor/cache/index.vue -
Step 1: 先按新接口结构写静态映射草稿
cache: {
info: {
cache_type: "IN_MEMORY",
cache_mode: "single-instance",
key_size: 0,
hit_count: 0,
miss_count: 0,
expired_count: 0,
write_count: 0
},
dbSize: 0,
commandStats: []
}
- Step 2: 将页面字段从 Redis 专属项改为本地缓存项
需要替换的展示重点:
-
Redis版本->缓存类型 -
运行模式保留 -
端口->总键数 -
客户端数->写入次数 -
运行时间(天)->命中次数 -
使用内存->未命中次数 -
使用CPU->过期清理次数 -
内存配置->监控采样时间或统计说明 -
Step 3: 调整 ECharts 数据绑定
this.commandstats.setOption({
series: [{ data: response.data.commandStats }]
})
同时将第二张图从 “内存信息” 调整为更适合本地缓存统计的图表,比如“命中/未命中/过期”仪表或柱状图,但不要新增页面复杂度。
- Step 4: 保证空数据也能渲染
要求:
-
commandStats为空时页面不报错 -
cache.info缺字段时不触发parseFloat(undefined) -
Step 5: 运行生产构建
Run: npm --prefix ruoyi-ui run build:prod
Expected: Build complete.
- Step 6: 提交本任务
git add ruoyi-ui/src/views/monitor/cache/index.vue
git commit -m "调整前端缓存概览展示"
Task 2: 复核缓存列表页与接口适配
Files:
-
Modify:
ruoyi-ui/src/views/monitor/cache/list.vue -
Modify:
ruoyi-ui/src/api/monitor/cache.js -
Step 1: 确认接口层无需改路径,只做必要注释和兼容梳理
保持以下 API 不变:
getCache()
listCacheName()
listCacheKey(cacheName)
getCacheValue(cacheName, cacheKey)
clearCacheName(cacheName)
clearCacheKey(cacheKey)
clearCacheAll()
- Step 2: 检查
list.vue是否依赖 Redis 专属文案
重点确认:
-
成功提示文案仍然准确
-
nameFormatter、keyFormatter继续适配缓存前缀 -
清理全部后是否需要主动清空右侧表单和中间列表
-
Step 3: 补最小交互修正
如果后端改为本地缓存后返回空列表,需要补以下保护:
this.cacheKeys = response.data || []
this.cacheForm = {}
避免清理后页面残留旧值。
- Step 4: 重新运行生产构建
Run: npm --prefix ruoyi-ui run build:prod
Expected: Build complete.
- Step 5: 提交本任务
git add ruoyi-ui/src/views/monitor/cache/list.vue ruoyi-ui/src/api/monitor/cache.js
git commit -m "完成前端缓存列表适配"
Task 3: 联调验证与测试进程收尾
Files:
-
Modify:
ruoyi-ui/src/views/monitor/cache/index.vue -
Modify:
ruoyi-ui/src/views/monitor/cache/list.vue -
Step 1: 启动前端开发服务联调缓存监控页
Run: npm --prefix ruoyi-ui run dev
Expected: 本地前端启动成功,可访问缓存监控页面。
- Step 2: 联调验证页面
验证点:
-
缓存概览页可打开
-
图表能展示本地缓存统计
-
缓存列表能加载
-
点击缓存名称能加载键名
-
点击键名能查看内容
-
单项清理、按分类清理、全部清理都能成功提示
-
Step 3: 如需文案微调,仅做最小改动
禁止扩展:
-
不新增入口页面
-
不改路由结构
-
不改全局 store
-
不引入测试框架
-
Step 4: 停止前端测试进程
要求:联调完成后结束本任务启动的 Node 前端进程,不保留后台测试服务。
- Step 5: 提交本任务
git add ruoyi-ui/src/views/monitor/cache/index.vue ruoyi-ui/src/views/monitor/cache/list.vue
git commit -m "完成前端缓存监控联调"