关于静态页面缓存的几点总结
1.列表页原子操作问题
我们使用的nginx proxy cache,每次只能purge(过期)一个页面。
发现页,热门,如果不同时purge,会出现新老交替的瞬间。没有主动过期概率更高。
阅读nginx proxy cache代码,知道hash规则,删除文件。可以用nginx插件实现。
2.缓存什么
像大量的用户,专辑页,如果都缓存代价很高,是否只缓存首页。只缓存第一页。
3.缓存过期问题
被动过期:缓存时间到了后,会获取新的数据。对于未登录比较适合。
主动过期:发生修改后,主动通知页面缓存清理。
用户的声音,专辑列表,专辑的声音列表,发现页列表
用户:用户修改了自己的属性,发了新声音,新专辑。
专辑:用户修改了专辑,发了新声音
4.谁看缓存
用户在看自己页面的时候不用缓存
用户在看其他人页面的时候用缓存
5.缓存的版本
客户端有多个版本,不同版本可能返回的数据结构不一样。版本体现在URL上。
6.公共参数
每个客户端都不同值得:uid token device_id等,不要放到url里,现在是修改放在cookie里。
device scale等公共参数还放到url中。
?