6

我们试图弄清楚在前端控制器中启用 AppCache 对缓存有什么影响,而无需在响应对象上调用任何缓存指令。

我假设只需添加以下行并将 default_ttl 设置为 1:

$kernel = new AppCache($kernel);

如果不对响应调用缓存指令,就不会改变应用程序的行为。但是一旦我们添加了这一行(和缓存:清除),我们的服务器每秒就能够处理更多的请求,这表明正在进行一些缓存。

打开调试并将 default_ttl 设置为一个小时,我们在 http 标头中看到的是

X-Symfony-Cache: GET /: miss

这是否意味着没有进行反向代理缓存?如果是这样,如何解释性能提升?

任何关于在这种情况下发生的事情的澄清都会很棒。

4

1 回答 1

4

这条线

$kernel = new AppCache($kernel);

启用 Symfony2 反向代理。如需进一步解释,请点击此链接:http ://symfony.com/doc/current/book/http_cache.html#symfony2-reverse-proxy 。性能提升现在应该很清楚了。

标头意味着“Symfony-Cache”收到了“GET”请求,但没有找到缓存数据(“miss”)。如果您连续多次调用同一页面,则标题应更改为:

X-Symfony-Cache: GET /: HIT 42
于 2013-09-16T16:37:16.603 回答