缓存容灾
当后端接口临时返回错误时,自动使用本地缓存的成功响应恢复页面功能,避免因临时故障影响用户体验。
工作原理
请求发出 → 收到响应 → 状态码正常? → 缓存响应数据 → 返回给页面
↓ 异常
容灾已开启? → 查找缓存 → 命中? → 返回缓存数据
↓ 否 ↓ 否
返回原始错误响应- 响应未命中临时服务端错误状态码时,将可处理的响应数据存入浏览器本地缓存
- 异常响应(
500/502/503/504)时,查找该接口的缓存数据 - 找到缓存则替换为缓存数据返回,未找到则返回原始错误
开启方式
设置面板 → 缓存容灾 → 启用容错处理
WARNING
容灾功能需要在 设置面板 中开启,Mock 面板的开关仅控制 Mock 功能。
缓存策略
- 使用
IndexedDB持久化缓存,同源页面共享数据 - 每域名独立管理缓存条数,默认上限
1500条 - 超出上限后按写入时间淘汰最旧的数据(FIFO)
- 精确缓存键由请求方法、
URL(剔除时间戳参数后)和请求体哈希计算得出 - 精确缓存未命中时,会再按“请求方法 + 域名 + 路径”查找兜底缓存
生效域名
通过「生效域名规则」限制哪些页面启用容灾缓存。每行一条规则,格式 type domain:
| 类型 | 示例 | 说明 |
|---|---|---|
regex | regex .*example\\.com.* | 正则匹配域名 |
fully | fully example.com | 完全匹配 |
include | include localhost | 包含匹配 |
默认规则:
text
regex (.*localhost.*|.*127.0.0.1.*)留空则对所有页面生效。
配置项
| 配置项 | 默认值 | 说明 |
|---|---|---|
| 启用容错处理 | 关闭 | 总开关 |
| 每域名最大缓存条数 | 1500 | 范围 100–10000 |
| 生效域名规则 | localhost | 限制生效范围 |
命中的状态码
仅对以下服务端错误状态码触发容灾:
500Internal Server Error502Bad Gateway503Service Unavailable504Gateway Timeout520–526Cloudflare / CDN 源站错误
客户端错误(4xx)不会触发容灾。
监控面板中的标记
容灾恢复的请求在监控面板中会有特殊标记,可在接口详情中查看:
- 原始响应(容灾前的真实错误响应)
- 最终响应(容灾后的缓存数据)
