🚀 SWR 策略是什么?

📅 发布于 2026年1月 | 👤 作者:博主 | 🏷️ 标签:SWR, 缓存策略, 性能优化, Web开发, 前端, 面试

欢迎来到我的博客文章!所有文章都是满满的前端干货,文章简明扼要。

🌟 核心思想(一句话理解):

当用户需要数据时:

解决的核心痛点

这解决了传统"先请求 → 再渲染"模式的两大痛点:

首屏/切换页面不白屏

有缓存兜底,用户体验更流畅

数据不会"永远过期"

后台自动刷新,保证数据新鲜度

🎯 SWR 与传统缓存策略对比

策略 行为 用户体验 适用场景
无缓存 每次都发请求 → 等待 → 渲染 ⚠️ 白屏、卡顿 实时性极强的场景(如交易下单)
纯本地缓存 读缓存(永不过期)→ 不发请求 ✅ 快,但 ❌ 数据陈旧 静态配置、低频更新数据
TTL 缓存 缓存有效期内读缓存,过期后发请求 → 等待 → 更新 ⚠️ 过期瞬间仍白屏 中等要求场景
✅ SWR 立即返回缓存(哪怕过期)+ 后台更新 ✅ 瞬时响应 + 自动保鲜 ✅ 绝大多数业务场景(列表、详情、用户资料等)

🌟 SWR 的核心优势:

SWR 工作流程

📝 典型的 SWR 执行流程:

  1. 用户访问页面/组件 → 检查本地缓存
  2. 如果有缓存 → 立即渲染缓存内容(即使已过期)
  3. 同时发起后台请求 → 获取最新数据
  4. 请求完成后 → 更新缓存并重新渲染
  5. 下次访问 → 直接使用最新的缓存数据

实际应用场景

🎯 最适合 SWR 的场景:

💡 SWR 的核心价值:

用户体验数据新鲜度之间找到最佳平衡点,让用户既能获得流畅的交互体验,又能确保看到的数据是相对新鲜的。

← 返回首页