2012-08-06 160 views
24

我需要清除我的doctrine's缓存在Symfony 2Symfony2学说清除缓存

清除缓存必须有一些在命令行中的方式。

或者我应该在哪里找到并删除属于缓存的文件?

+5

'rm -rf app/cache/*'没有帮助? – 2012-08-06 10:25:16

+0

答案有帮助吗?如果不是,请尝试使用应用程序/控制台缓存清除完整缓存:清除 – amitchhajer 2012-08-06 14:14:21

+1

是有帮助的tnx。 – 2012-08-06 15:04:12

回答

89
app/console 

会列出你如何能做到这

app/console doctrine:cache:clear-metadata 
app/console doctrine:cache:clear-query 
app/console doctrine:cache:clear-result 
+0

非常感谢你 – Gigala 2013-03-04 12:11:49

+0

顺便说一句,如果你使用的是mongodb,你可以做'app/console doctrine:mongodb:cache:clear-metadata'或者只是做'app/console doctrine',你会看到所有可用的选项 – Gigala 2013-04-16 10:55:27

+2

请注意,您总是可以使用'app/console list'来显示所有命令或'app/console list doctrine'来显示'doctrine'命名空间中的命令 – caponica 2014-05-07 13:30:46

8

如果你想你的代码(从Doctrine's documentation)内做到这一点:

如果你只是想删除所有缓存条目你可以使用 deleteAll()方法。

<?php 
    $cacheDriver = new \Doctrine\Common\Cache\ArrayCache(); 
    $deleted = $cacheDriver->deleteAll(); 
+7

我应该把这个代码放在哪里? – Gardner 2013-11-23 12:58:39

+1

缓存刷新有什么区别? – Czechnology 2016-07-30 19:30:51

0

在您使用APC的情况下,你也只需要调用代码

<?php 
$deleted = apc_clear_cache() && apc_clear_cache('user'); 

在PHP页面在同一台服务器上。这是Antho的答案中的deleteAll()方法,但您不依赖于Doctrine Classes。顺便说一句:完整的缓存将被刷新 - 以防万一您将它用于非Doctrine的东西。

1

我以为我疯狂与教条结果缓存 - 最后我不得不重新启动memcached。