想知道在实际工程中缓存的使用场景
缓存能起到什么作用?
降低带宽压力
降低服务器处理压力
既然你知道了为什么做,那么这个当然是越快越好,最好都缓存起来才好
但是事情往往没有这么简单,我们一般是 html 不缓存,资源强缓存(js、css,通过 hash 名来更新文件)。
接口的话一般不会做强缓存,配置啥的可以考虑一下协商缓存。逻辑处理之类的必须要准确数据,也就不会做缓存。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
就拿前端SPA部署来说,打包过后的文件为index.html,css,js,img文件等,
1)index.html应该不缓存,保证index.html每次都从服务器获取最新的;
2)js、css、img等文件会在打包后生成对应的hash标识,所以这些文件可以设置一个比较长的缓存时间,比如1年;
index.html为什么不该缓存呢?因为他是应用的入口,只有加载它之后才会加载它引用的资源文件,如css、js、img等,所有要保证index.html不被缓存,这样你才能保证本地资源版本跟服务器一致。至于css、js等资源文件如果重新打包那么他们的文件名也会根据内容发生变化(contentHash),都是不同的文件了也就不担心缓存带来的副作用了。