2012-11-28 72 views
0

我想要做的是緩存頁面1小時。事情是,如果我的對象被修改,我希望能夠在這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, 
    )); 

的問題是,上面的代碼不檢查上次更改時間。創建1小時緩存後,我必須等待60分鐘才能看到我對對象所做的更改($ lastModified)。

回答

0

這裏是在symfony2文檔中使用Last-Modified標頭的緩存頁面的an example

我認爲你的錯誤是你試圖使用Last-Modified,然後用Cache-Control頭(max_age,s_maxage)重寫它。

+0

事情是我想在1個例子中使用2個方法。如果$ object-> getLastModified()已更改,則將頁面緩存3小時並將緩存標記爲陳舊(在這3個小時內)。 –

相關問題