2012-08-06 1 views
24

Ho bisogno di cancellare la mia cache doctrine's in Symfony 2.Symfony2 doctrine clear cache

Ci deve essere un modo in linea di comando per svuotare la cache.

O dove devo trovare ed eliminare i file che appartengono alla cache?

+5

'rm -rf app/cache/*' non ha aiutato? –

+0

la risposta aiuta? in caso contrario, prova a svuotare la cache completa utilizzando la cache app/console: clear – amitchhajer

+1

era utile tnx. –

risposta

89
app/console 

elencherà come si può fare

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

grazie mille – Gigala

+0

A proposito, se per esempio si usa mongodb si può fare 'app/console dottrine: mongodb: cache: clear-metadata' o semplicemente fare 'app/console doctrine' e vedrai tutte le opzioni disponibili – Gigala

+2

Si noti che è sempre possibile usare l'elenco app/console per mostrare tutti i comandi o 'doc/app listlist 'per mostrare i comandi nello spazio dei nomi' doctrine ' – caponica

8

Se si vuole farlo all'interno del codice (da Doctrine's documentation):

Se si vuole semplicemente cancellare tutte le voci della cache puoi farlo con il metodo deleteAll().

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

Dove dovrei mettere questo codice ?? – Gardner

+1

Qual è la differenza nello svuotamento della cache? – Czechnology

0

Nel caso in cui si utilizza APC, si potrebbe anche chiamare il codice

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

in una pagina php sullo stesso server. Questo è il metodo deleteAll() nella risposta di Antho, ma non dipendono dalle Classi Doctrine. Btw: la cache completa verrà svuotata - nel caso lo si utilizzi per cose non di Doctrine.

1

Ho pensato che stavo impazzendo con il caching dei risultati di doctrine - alla fine ho dovuto riavviare memcached.