缓存可以提升速度,但适合企业展示页的规则,放到电商网站可能显示过期库存或其他用户内容。正确目标不是“全部缓存”,而是缓存稳定内容,同时保护动态客户流程。
区分静态与动态路径
列出所有人看到内容相同的页面,以及依赖会话、账号、购物车、地区、货币或角色的路径。商品页可能大部分静态,但购物车和会员中心不是。
还要包含 API、支付回调、Webhook 和后台路径。只看前台页面列表并不完整。
明确整页缓存排除规则
购物车、结账、会员中心、登录、密码重置和个性化价格必须排除,平台需要时还要对带有会话或购物车 Cookie 的请求绕过缓存。
分别测试游客、登录用户、批发账号和管理员。缓存泄露可能只影响某一种角色,普通测试看不出来。
正确使用浏览器缓存和对象缓存
带版本号的 CSS、JavaScript、字体和图片适合长期浏览器缓存。对象缓存可以减少重复数据库读取,但不能缓存错误的业务状态。
资源更新时必须修改版本号或文件名,避免长期缓存继续使用旧代码。
规划缓存清理流程
发布内容、修改价格、更新库存或部署代码后,应尽量只清理受影响内容。频繁全站清理会造成流量尖峰和大量慢首访。
需要记录谁可以清缓存,以及系统中有哪些层:应用、服务器、CDN、浏览器和第三方代理。
保护支付和接口流量
支付回调、订单 API、Webhook 和带认证的请求不能缓存,并要保留必要请求头。安全规则依赖真实 IP 时,还要正确传递来源地址。
CDN 防火墙如果直接复制规则,可能阻止合法回调。应精确放行可信服务,而不是全局关闭保护。
每次大改后完成真实流程测试
完整测试浏览、搜索、加购、修改数量、选择物流、支付、收邮件、登录和退出,并在手机和无痕窗口重复。
检查响应头确认页面实际命中还是绕过缓存,单纯看页面外观无法判断。
监控过期内容和边缘错误
关注 4xx/5xx、缓存命中率、源站响应时间,以及客户反馈的错误库存或账号内容。必须准备书面的紧急绕过方案。
好的缓存方案应该可观察、可回滚。性能提升不能牺牲对客户实际收到内容的诊断能力。



