用户抱怨页面卡顿时,产品经理的第一反应通常是换服务器、砍功能、或者加钱上CDN。但真正让网站飞起来的,往往是一堆过期的数据——缓存策略。
缓存的本质是作弊。你向服务器请求一次,然后把答案抄在小抄上,下次直接念答案。问题是,小抄什么时候该扔?扔早了浪费算力,扔晚了用户看到去年的价格。这个平衡点的拿捏,比写代码难得多。
AppWrite团队最近复盘了一个案例:某电商大促期间,库存接口被击穿,数据库直接躺平。事后发现,缓存TTL设了5分钟,但促销商品的库存每秒都在变。「我们以为缓存是性能优化,结果它成了数据一致性的绞肉机。」技术负责人原话。
业内有个不成文的鄙视链。做前端的觉得缓存是后端的事,后端觉得是运维的锅,运维说业务方没提需求。最后没人管,直到流量洪峰把所有人冲醒。
现在主流方案分三层:浏览器本地存静态资源,CDN节点存热点内容,源站前面再加一层Redis挡子弹。三层都命中,页面加载能压到100毫秒内;一层失效,体验断崖式下跌。
有个细节很能说明问题。某头部云厂商的监控面板显示,客户配置的缓存规则中,23%的TTL设置超过24小时,同时又有31%低于10秒。翻译一下:要么懒到不想更新,要么慌到不敢缓存。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.