web-dev-qa-db-fra.com

Symfony2 doctrine cache clair

J'ai besoin d'effacer mes doctrine's cache dans Symfony 2 .

Il doit y avoir un chemin en ligne de commande pour effacer le cache.

Ou où devrais-je trouver et supprimer les fichiers appartenant au cache?

31
morteza kavakebi
app/console

va énumérer comment vous pouvez le faire

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

pour symfony 3+:

 php bin/console

et liste de commandes (pour copier/coller depuis le répertoire du projet):

 php bin/console doctrine:cache:clear-metadata 
 php bin/console doctrine:cache:clear-query  
 php bin/console doctrine:cache:clear-result
100
amitchhajer

Si vous voulez le faire dans votre code (à partir de Documentation de Doctrine ): 

Si vous voulez simplement supprimer toutes les entrées du cache, vous pouvez le faire avec le fichier Méthode deleteAll ().

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

Si vous utilisez APC, vous pouvez également appeler le code

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

dans une page php sur le même serveur. C'est ce que fait la méthode deleteAll () dans la réponse de Antho, mais vous ne dépendez pas des classes de la doctrine. Btw: le cache complet sera vidé - juste au cas où vous l'utiliseriez pour des choses non-Doctrine.

1
Oli

Je pensais devenir fou avec la mise en cache des résultats de la doctrine - à la fin, je devais redémarrer memcached.

1
beterthanlife

Je connais le titre de cet article, dit Symfony 2, mais pour ceux d'entre vous venant de Google, si vous avez Symfony 3+, ça va être:

bin/console

Par opposition à: 

app/console
0
lsimonetti