SuperAPI AI 工具集

netlify-caching

通用与其它

查看项目

更新于 10-16 03:47

技能介绍

用途:在 Netlify CDN 上缓存动态与静态响应,适用于为 Functions、Edge Functions 和代理添加缓存或 Cache-Control 响应头的场景。动态响应默认不缓存,需显式选择加入。

主要能力:通过 Netlify-CDN-Cache-Control 等响应头控制缓存,支持 public、private、no-store、s-maxage、max-age、stale-while-revalidate、durable 等指令;用 Netlify-Vary 按 query、header、language、country、cookie 生成缓存变体;用 Netlify-Cache-Tag 打标签并按标签清除;用 Netlify-Cache-ID 退出自动部署失效;通过 purgeCache 或直接调用 POST https://api.netlify.com/api/v1/purge 按站点或标签清除缓存;使用 caches 全局 Cache API 读写单个响应;安装 @netlify/cache 获得 cacheHeaders、fetchWithCache、getCacheStatus、needsRevalidation 等辅助函数与时间常量。

使用方式:在响应头中设置缓存指令,例如 Netlify-CDN-Cache-Control: public, durable, max-age=60, stale-while-revalidate=120;在已部署函数内调用 purgeCache(),在 CI 或本地脚本中需传入 token 与 siteID;Cache API 的 match/put/delete 只能在请求处理函数内调用,caches.open 可在全局作用域调用;本地开发可 import { caches } from "@netlify/cache",需 Netlify CLI 20.0.3+。

限制:仅 GET 被缓存,POST/PUT 等永不缓存;netlify dev 不模拟 CDN 缓存,需在已部署 URL 上通过 Cache-Status 头验证;未设置 Netlify-Vary 时完整查询字符串即缓存键;静态资源最长新鲜一年,更短 max-age 被忽略;任意页面启用 basic-auth 会禁用整站缓存;durable 仅对 serverless 生效;Cache API 每次调用限 100 次查找、20 次写入/删除,keys() 未实现,删除最终一致;清除限每个标签或站点每 5 秒两次,超出返回 429。部分细节以官方文档为准。