我们试图弄清楚在前端 Controller 中启用 AppCache 对缓存有什么影响,而无需在响应对象上调用任何缓存指令。
我假设只需添加以下行并将 default_ttl 设置为 1:
$kernel = new AppCache($kernel);
如果不对响应调用缓存指令,则不会更改应用程序的行为。但是一旦我们添加了这一行(和缓存:清除),我们的服务器每秒就能够处理更多的请求,这表明有一些缓存正在进行。
打开调试并将 default_ttl 设置为一个小时,我们在 http header 中看到的是
X-Symfony-Cache: GET /: miss
这是否意味着没有进行反向代理缓存?如果是这样,性能提升的原因是什么?
任何关于在这种情况下发生的事情的澄清都会很棒。
最佳答案
这条线
$kernel = new AppCache($kernel);
启用 Symfony2 反向代理。如需进一步说明,请点击此链接:http://symfony.com/doc/current/book/http_cache.html#symfony2-reverse-proxy .性能提升现在应该很明显了。
header 意味着“Symfony-Cache”收到了一个“GET”请求并且没有发现缓存数据(“miss”)。如果您连续多次调用同一页面,则标题应更改为:
X-Symfony-Cache: GET /: HIT 42
关于performance - Symfony2 AppCache 性能提升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16609959/