SuperAPI AI 工具集

caching-invalidation-patterns

通用与其它

查看项目

更新于 10-15 21:41

技能介绍

用途:该技能聚焦 Web 应用的缓存失效设计,核心问题不是如何存缓存,而是判断缓存何时仍有效、何时过期、写入后需刷新什么、失效范围应多宽。

主要能力:覆盖内存客户端缓存、浏览器 HTTP 缓存、CDN/边缘缓存、服务端应用缓存、构建期缓存等类型及其常见失效触发;讲解缓存键设计(稳定、具体、可结构化定位相关条目);介绍基于时间(TTL)、变更驱动、访问时重新验证(stale-while-revalidate)、事件驱动、标签或分组失效等策略;讨论列表与详情失效、替换与失效的取舍、乐观更新后的失效、分页筛选与搜索场景、HTTP 与 CDN 重新验证,以及常见缺陷(详情已更新列表仍旧、重新获取竞态、失效风暴、租户或用户数据错配、搜索结果过期、UI 闪烁)。

使用方式:先明确缓存什么数据、真实来源归谁、变化速度、哪些写入会使其过期、可接受多长陈旧时间,再设计缓存键,最后选择失效策略。资料给出示例:cache.set(key, data, { ttl: 60000 }); cache.invalidate(['product', productId]); cache.invalidate(['products']); 以及 useQuery({ key: ['notifications'], ttl: 30000 }); 等。

适用场景:CRUD 界面、用户仪表盘、设置页、信息流、协作与多设备应用、CMS 支撑站点、CDN 与静态再生成等。

限制:资料未提供具体框架绑定、安装命令、收费或平台信息;策略选择需结合业务对新鲜度与正确性的权衡,过窄失效易漏相关视图,过宽失效会增加重新获取开销。