在cache-app应用程序中,我们展示了如何在Symfony2中设置缓存策略:
-
没有任何缓存策略
-
提交记录:无缓存策略。
-
当页面首次刷新时,请注意返回头中没有任何缓存策略指示。
-
客户端浏览器的私有缓存策略
-
策略:
Cache-Control: private, max-age=120
(客户端私有缓存),设置max-age为2分钟(120秒)。 -
第一次刷新时:可以看到响应头中的private指示。
-
再次调用页面(不强制刷新):浏览器直接从缓存加载页面,服务器没有被请求。
-
提交记录:此时实现了私有缓存策略。
-
公共缓存策略(反向代理/网关缓存)
-
策略:
Cache-Control: public, s-maxage=60
(公共缓存),设置s-maxage为1分钟(60秒)。 -
第一次刷新时,缓存生效。
-
再次调用页面(首次调用后60秒):页面从公共缓存加载,不必重新生成。
-
提交记录:此策略下,缓存通过反向代理缓存响应。
-
ESI缓存(Edge Side Includes)
-
第一次刷新:页面和片段都使用了缓存,但均为陈旧缓存。
-
第二次刷新(不到20秒):页面和片段都从缓存中加载新内容,无需重新生成响应。
-
第三次刷新(35秒后):页面为新内容,而片段依然为陈旧缓存。
暂无评论