
缓存策略中最大的难题就是速度和时效之间的权衡。整个网站都采用短周期或者长周期的话,都会造成边缘节点资源的浪费,根据页面属性进行分级是可行的方案。
静态资源比如图片、脚本、字体可以设置长周期强缓存,配合文件名哈希进行版本切换,内容变更就会生成新的地址,不需要等待过期。栏目页和详情页可以使用协商缓存,配置 ETag 和 Last-Modified,命中之后返回 304,减少传输量同时保留时效校验。首页和列表页更新频率高,使用短周期缓存加上发布时主动清理,兼顾首屏速度和内容新鲜度。
个性化区块从缓存主体中分离出来,登录状态、库存、计数等数据由前端异步获取,主体仍然可以缓存。分级落地之后用命中率和回源率来衡量效果,对更新延迟设置上限。
分级标准就是页面的更新频率以及可复用性。规则要写得清楚,失效的路径要打通,这样缓存才能又快又准。