缓存时间设置为一个固定的值,这样会导致静态资源经常回源,而动态页面长时间没有更新。分层设置可以平衡访问效率和内容的时效性。

静态资源可以存放很长时间。图片、样式、脚本、字体设置等较长的周期,用文件名加版本号或者哈希值的方式进行更新,内容发生变化就会生成新的地址,不需要等到过期。一般占请求量的大部分。
列表页和详情页使用中间值。页面级缓存为几分钟到几十分钟,在发布的时候进行主动刷新,这样可以减少回源次数,同时保证发布之后很快就可以被看到。分页、筛选参数要加入到缓存键中,否则会出现翻页内容错乱的情况。
根据可复用性来划分接口。只读、允许短暂延迟的接口可以进行缓存,而涉及到账户和实时状态的接口则不能缓存或者只能缓存很短的时间。响应头里的缓存指令要和边缘配置保持一致,源站上的短周期指令会覆盖掉平台设置。
刷新机制要形成体系。内容发布、下线、批量导入之后触发对应路径的刷新,避免全站清空造成回源洪峰;同时保留按标签刷新的能力,方便处理批量变更。刷新接口调用频率有限制,防止脚本异常时反复清除缓存。
用命中率、回源率和内容延迟三个指标来检验,只要有一项出现异常就说明分层还需要调整。