我試圖使用緩存與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