Ефективне видалення застарілих даних кешу за допомогою Laravel Cache Evict

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 04 червня, 2025
У статті розглядається, чому кешування є важливим для оптимізації продуктивності ваших Laravel-додатків. Дізнайтеся, як пакет Laravel Cache Evict може допомогти вам ефективно видаляти лише застарілі елементи з кешу, не навантажуючи систему. Чи готові ви покращити свої навички кешування? Читайте далі!

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