web-dev-qa-db-ger.com

Symfony2 Doctrine Cache leeren

Ich muss mein Doctrines cache in Symfony 2 löschen.

Es muss einen Weg in der Befehlszeile geben, um den Cache zu löschen.

Oder wo soll ich die zum Cache gehörenden Dateien finden und löschen?

31
app/console

listet auf, wie es geht

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

für symfony 3+:

 php bin/console

und Liste der Befehle (für Kopie/Vergangenheit aus dem Projektverzeichnis):

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

Wenn Sie es in Ihrem Code tun wollen (aus Doctrines Dokumentation ): 

Wenn Sie einfach alle Cache-Einträge löschen möchten, können Sie dies mit der .__ tun. Methode deleteAll ().

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

Falls Sie APC verwenden, können Sie den Code auch einfach anrufen

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

in einer PHP-Seite auf demselben Server. Dies ist die Methode von deleteAll () in Anthos Antwort, aber Sie sind nicht von den Doctrine-Klassen abhängig. Übrigens: Der komplette Cache wird geleert - nur für den Fall, dass Sie ihn für Nicht-Doctrine-Sachen verwenden.

1
Oli

Ich dachte, ich würde durch das Zwischenspeichern von Lehrergebnissen verrückt werden - am Ende musste ich memcached neu starten.

1
beterthanlife

Ich weiß, dass der Titel dieses Beitrags Symfony 2 besagt, aber für diejenigen, die von Google kommen, wenn Sie Symfony 3+ haben, wird es Folgendes sein:

bin/console

Im Gegensatz zu: 

app/console
0
lsimonetti