2012-08-06 214 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。