2012-08-06 31 views
24

muszę wyczyścić pamięć podręczną w Symfony 2doctrine's.Symfony2 doktryna jasne cache

Musi być jakiś sposób w linii poleceń dla wyczyścić pamięć podręczną.

Albo gdzie powinienem znaleźć i usunąć pliki należące do pamięci podręcznej?

+5

'rm -rf app/cache/*' nie pomogło? –

+0

czy odpowiedź pomaga? jeśli nie, spróbuj wyczyścić pełną pamięć podręczną przy użyciu pamięci podręcznej aplikacji/konsoli: wyczyść – amitchhajer

+1

był pomocny tnx. –

Odpowiedz

89
app/console 

pokaże w jaki sposób można zrobić to

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

dziękuję bardzo – Gigala

+0

Nawiasem mówiąc, jeśli używasz MongoDB na przykład można zrobić „app/doktrynę konsoli: MongoDB: cache: clear-metadane” lub po prostu zrobić „app/doktrynę konsoli”, a zobaczysz wszystkie dostępne opcje – Gigala

+2

Pamiętaj, że zawsze możesz użyć 'list' app/console, aby pokazać wszystkie komendy lub' app/console lista doctrine' po prostu pokazać komendy w „doktrynie” namespace – caponica

8

Jeśli chcesz to zrobić w kodzie (od Doctrine's documentation):

Jeśli po prostu chcesz usunąć wszystkie wpisy z pamięci podręcznej możesz to zrobić za pomocą metody deleteAll() .

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

Gdzie powinienem umieścić ten kod ?? – Gardner

+1

Czym się różni od spłukiwania pamięci podręcznej? – Czechnology

0

W przypadku używanego APC, można też po prostu wywoływać kod

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

w stronę PHP na tym samym serwerze. Tak właśnie działa metoda deleteAll() w odpowiedzi Antho, ale nie polegasz na klasach Doctrine. Przy okazji: cała pamięć podręczna zostanie przepłukana - na wypadek, gdybyś używał jej do nie-doktryny.

1

Myślałam, że wariuje z wynikami doktryna buforowania - w końcu musiałem zrestartować memcached.

Powiązane problemy