【发布时间】:2015-10-19 06:50:26
【问题描述】:
我正在开发一个流量很大的 AngularJS 项目。
在开发过程中,我偶然发现了部分缓存的问题,并且没有针对不同的操作进行更新。当然,我可以使用 .run 和 $templateCache.removeAll(); 来摆脱这个问题。例如, 但要确保这实际上是一个好主意。
有些部分是动态更新的(用户输入,或间隔自动更新),而有些是静态的或很少更新。
在这种情况下,缓存的最佳方法是什么?
对于非 Angular 网站,我更喜欢清晰地划分职责,例如: 1. 缓存头在应用级别设置 2. nginx - 只是为了服务网站本身 3. Varnish 为静态资产做 FPC + CDN 或 CDN 做全页缓存(取决于客户端/项目等)等等等等等等。 关键点:每个部分都有自己独特的职责。
通过这个项目,我可以将 Varnish 和 CDN 用于静态资产, 多服务器设置。也可以重新使用 Varnish 进行负载平衡,即我可能在几个 Web 节点上安装了 Varnish。我在基础架构方面有一定的灵活性。
请分享您对最佳设置的看法? 特别是:它仍然值得缓存部分吗? 如果是,那么设置 CC 标头的最佳位置是什么? 那么刷新缓存的最佳方法是什么,尤其是。如果我只需要刷新一些子选择?
谢谢!! D.
【问题讨论】:
-
我会将你所有的 html 模板连接到一个带有 npmjs.com/package/gulp-angular-templatecache 之类的 js 文件中,然后使用 github.com/sindresorhus/gulp-rev 之类的东西缓存它