【发布时间】:2016-04-09 02:33:01
【问题描述】:
我正在尝试在 symfony 中使用缓存。
在我的控制器中我写了这个 sn-p
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) 然后我在 app_dev.php 和 app.php 中也启用了 $kernel = new AppCache($kernel);
刷新时,我看到相同的“随机数”持续 10 秒,没关系。
如果我省略 $response->setPublic();,缓存将变为私有,并且我始终拥有不同的数字。我也尝试登录我的应用程序,但缓存似乎不起作用
我也尝试在 appCache() 中添加 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,
);
}
}
【问题讨论】:
-
我不太清楚你的问题是什么,你能说清楚一点吗?
-
当然!当我使用 $response->setPublic();缓存有效,(为了测试我在树枝中使用 random(100) 并且我看到相同的数字 10 秒),如果我使用 $response->setPrivate() 我总是有不同的数字(刷新浏览器时)跨度>