我试图使用缓存与symfony。symfony私有缓存和公共缓存之间的差异
在我的控制器我写这个片段
public function indexAction(Request $request)
{
$response = $this->render('default/index.html.twig', [
'base_dir' => realpath($this->getParameter('kernel.root_dir').'/..'),
]);
$response->setMaxAge(10);
$response->setPublic();
return $response;
}
,在我的树枝我有一个功能random(100)
然后我也$kernel = new AppCache($kernel);
启用了app_dev.php和app.php 刷新时我看到相同的“随机数“10秒,没关系。
如果我忽略$response->setPublic();
,缓存将变为私有,并且我总是有不同的数字。我也尝试登录到我的应用程序,但缓存似乎不起作用
我也尝试添加getOptions在应用程序缓存()
class AppCache extends HttpCache
{
protected function getOptions()
{
return array(
'debug' => false,
'default_ttl' => 0,
'private_headers' => array('Authorization', 'Cookie'),
'allow_reload' => false,
'allow_revalidate' => false,
'stale_while_revalidate' => 2,
'stale_if_error' => 60,
);
}
}
我不是很确定你的问题是什么,你能更清楚一点吗? – Federkun
当然!当我使用$ response-> setPublic();缓存工作,(测试我使用随机(100)在树枝,我看到相同的数字为10秒),如果我使用$ response-> setPrivate()我总是有不同的数字(刷新浏览器时) – monkeyUser