2013-11-28 25 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',并试图删除所有的缓存也仍然没有在生产环境中删除。 –

相关问题