如何使用上次修改日期缓存单页1小时?

时间:2012-11-28 15:58:09

标签: caching symfony

我想要做的是将页面缓存1小时。问题是,如果我的对象被修改,我希望能够在这1小时内将案例设置为陈旧。

到目前为止,这是我的代码:

$response = new Response();
$response->setLastModified(new \DateTime($lastModified));        
if ($response->isNotModified($this->getRequest()))
    return $response;
else
    $response->setCache(array(
        'public' => true,
        'max_age' => 3600, 
        's_maxage' => 3600,
    ));

问题是上面的代码没有检查lastModified。创建1小时缓存后,我必须等待整整60分钟才能看到我对对象所做的更改($ lastModified)。

1 个答案:

答案 0 :(得分:0)

以下是使用symfony2文档中Last-Modified标头的缓存页面的an example

我认为您的错误是您尝试使用Last-Modified然后使用Cache-Control标头(max_age,s_maxage)重写它。