2013-11-28 53 views
0

我在symfony2中使用Doctrine結果緩存。symfony2中的生產環境中不會刪除Doctrine結果緩存

只在生產環境原則結果緩存刪除不刪除緩存。 但在開發環境中,結果緩存刪除工作正常。

這裏是我寫的使用結果緩存在教條中的代碼。

//code to store result cache in doctrin. 
$qb->useResultCache(true); 
$qb->setResultCacheId('key');  

//code to delete result cache when db data edit. 

$em->getConfiguration()->getResultCacheImpl()->delete('key'); 

這裏問題在於symfony2中的生產環境。

生產環境是否有任何特殊的教條緩存配置?

請幫我解決這個問題。

回答

0

它不應該是生產環境的任何特殊標誌。主義甚至不關心環境問題,這是當內核初始化其設置特別的Symfony2的東西,例如:

#web/app.php 
... 
$kernel = new AppKernel('prod', false); 

也許第一次檢查:

echo $this->container->get('kernel')->getEnvironment(); 

,以確保您100% '在'刺'的環境中。

然後,如果你是,你可以嘗試:

$em->getConfiguration()->getResultCacheImpl()->deleteAll(); 

,以檢查它是否會刪除所有緩存的環境,所以你就會知道,如果它是用delete(「鍵」)的一個特殊問題方法或其他東西。

+0

我有檢查環境它只是'prod',並試圖刪除所有的緩存也仍然沒有在生產環境中刪除。 –

相關問題