Очистить весь кэш в Laravel 4

54

Есть ли способ очистить весь кеш в Laravel 4? Я использую файл для кэширования. Я прочитал в документах, что вы можете использовать Cache::forget('key'), но что, если мне нужно удалить весь кеш?

Команда artisan также может быть полезна, я думаю, что есть проблема с репо, но не уверен, что она еще реализована.

Спасибо!

Теги:

4 ответа

98
Лучший ответ

Если вы запустите php artisan list, вы можете найти все команды, доступные для artisan, так или иначе, есть команда очистить cache и это

php artisan cache:clear

Кроме того, вы можете использовать

foreach (Cache::getMemory() as $cacheKey => $cacheValue)
{

    Cache::forget($cacheKey);
}

Update:

Cache::flush();
  • 3
    на момент написания этой статьи вы можете использовать Cache :: flush () независимо от используемого вами драйвера. Посмотрите Laravel API Cache для этого.
  • 5
    php artisan cache: очистка может не всегда работать в случае кеша FileStore, так как пользователь, выполняющий команду artisan, может не иметь прав на запись в файлы / каталоги кеша. Обычно кэшированные файлы создаются пользователем веб-сервера, который не обязательно совпадает с тем, который вы используете для запуска artisan.
Показать ещё 1 комментарий
6

Illuminate\Cache\FileStore имеет функцию flush, поэтому вы можете использовать:

Cache::flush();
  • 1
    Для тех, кто интересуется, это также работает в Laravel 5.
1

Использование

use Doctrine\Common\Cache\CacheProvider as DoctrineCache;

DoctrineCache::flushAll();

чтобы очистить весь кеш.

  • 0
    Он доступен в вендоре / doctrine / cache / lib / Doctrine / Common / Cache / CacheProvider.php
  • 0
    обновлено с соответствующим пространством имен.
-1

Иногда кеш представления не скрывается таким образом (php artisan cache:clear). Но с помощью команды ниже сделал трюк:

php artisan view:clear

Ещё вопросы

Сообщество Overcoder
Наверх
Меню