Доктрина Symfony2 очищает кэш


Мне нужно очистить кэш моей доктрины в Symfony 2.

В командной строке должен быть какой-то способ очистить кэш.

Или где я должен найти и удалить файлы, принадлежащие кэшу?

Author: shakaran, 2012-08-06

5 answers

app/console

Перечислит, как вы можете это сделать

 app/console doctrine:cache:clear-metadata 
 app/console doctrine:cache:clear-query  
 app/console doctrine:cache:clear-result 
 97
Author: amitchhajer, 2012-08-06 10:27:44

Если вы хотите сделать это в своем коде (из документации Доктрины) :

Если вы просто хотите удалить все записи кэша, вы можете сделать это с помощью метода deleteAll().

    <?php
    $cacheDriver = new \Doctrine\Common\Cache\ArrayCache();
    $deleted = $cacheDriver->deleteAll();
 8
Author: Antho, 2015-10-20 19:31:43

Я думал, что схожу с ума от кэширования результатов доктрины - в конце концов мне пришлось перезапустить memcached.

 1
Author: beterthanlife, 2017-06-02 11:39:03

В случае, если вы используете APC, вы также можете просто вызвать код

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

На странице php на том же сервере. Это то, что делает метод deleteAll() в ответе Анто, но вы не зависите от классов доктрины. Кстати: полный кэш будет очищен - на всякий случай, если вы используете его для не-доктринальных вещей.

 1
Author: Oli, 2018-03-07 08:46:25

Я знаю, что название этого поста гласит Symfony 2, но для тех из вас, кто пришел из Google, если у вас есть Symfony 3+, это будет:

bin/console

В отличие от:

app/console
 0
Author: lsimonetti, 2018-09-07 13:59:47