Кэширование необходимо для ускорения дорогостоящего извлечения и обработки данных в производственных приложениях. Laravel предоставляет несколько драйверов кэширования для облегчения этой задачи. Два таких драйвера, которые поставляются из коробки, — это драйверы file и database кэш. Иногда рекомендуется очищать кэш, так как регулярное удаление элементов с истекшим сроком действия может предотвратить перегрузку хранилища, особенно если вы создаете много временных элементов со случайными ключами.
В Laravel вы можете очистить кэш с помощью Cache::flush() или php artisan cache:clear. Однако при использовании этих методов все записи удаляются из кэша, включая кэш фреймворка, что потенциально может вызвать проблемы с разрешениями драйвера файлового кэша, если, скажем, элементы кэша созданы пользователемwww-data, но /bootstrap/cache/* принадлежат другому пользователю. Laravel Cache Evict - это пакет, разработанный Винсентом Вонгом, который помогает вам удалять только элементы с истекшим сроком действия в вашем кэше эффективным для памяти и (для кэшей баз данных) неблокирующим способом.
Вы устанавливаете этот пакет с помощью Composer:
composer require vectorial1024/laravel-cache-evict
Чтобы вытеснить кэш по умолчанию в вашем приложении Laravel, вы запускаете:
php artisan cache:evict
При необходимости вы можете указать кэш для очистки:
php artisan cache:evict file
Узнайте больше об этом пакете, в том числе о том, как определить свои пользовательские стратегии вытеснения и просмотреть исходный код на GitHub.