Кешування є важливим для прискорення витратного отримання та обробки даних у продукційних додатках. 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