跳转到正文

缓存容灾

当后端接口临时返回错误时,自动使用本地缓存的成功响应恢复页面功能,避免因临时故障影响用户体验。

工作原理

请求发出 → 收到响应 → 状态码正常? → 缓存响应数据 → 返回给页面
                        ↓ 异常
                   容灾已开启? → 查找缓存 → 命中? → 返回缓存数据
                        ↓ 否              ↓ 否
                   返回原始错误响应
  1. 响应未命中临时服务端错误状态码时,将可处理的响应数据存入浏览器本地缓存
  2. 异常响应(500 / 502 / 503 / 504)时,查找该接口的缓存数据
  3. 找到缓存则替换为缓存数据返回,未找到则返回原始错误

开启方式

设置面板 → 缓存容灾 → 启用容错处理

WARNING

容灾功能需要在 设置面板 中开启,Mock 面板的开关仅控制 Mock 功能。

缓存策略

  • 使用 IndexedDB 持久化缓存,同源页面共享数据
  • 每域名独立管理缓存条数,默认上限 1500
  • 超出上限后按写入时间淘汰最旧的数据(FIFO)
  • 精确缓存键由请求方法、URL(剔除时间戳参数后)和请求体哈希计算得出
  • 精确缓存未命中时,会再按“请求方法 + 域名 + 路径”查找兜底缓存

生效域名

通过「生效域名规则」限制哪些页面启用容灾缓存。每行一条规则,格式 type domain

类型示例说明
regexregex .*example\\.com.*正则匹配域名
fullyfully example.com完全匹配
includeinclude localhost包含匹配

默认规则:

text
regex (.*localhost.*|.*127.0.0.1.*)

留空则对所有页面生效。

配置项

配置项默认值说明
启用容错处理关闭总开关
每域名最大缓存条数1500范围 10010000
生效域名规则localhost限制生效范围

命中的状态码

仅对以下服务端错误状态码触发容灾:

  • 500 Internal Server Error
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 520526 Cloudflare / CDN 源站错误

客户端错误(4xx)不会触发容灾。

监控面板中的标记

容灾恢复的请求在监控面板中会有特殊标记,可在接口详情中查看:

  • 原始响应(容灾前的真实错误响应)
  • 最终响应(容灾后的缓存数据)

Released under the MIT License. · [隐私政策](/privacy) · [服务条款](/terms) · 联系:[arktomson99@gmail.com](mailto:arktomson99@gmail.com)