Route Caching - миттєвий приріст швидкості
Файл маршрутів завантажується при кожному запиті. З 500+ маршрутами це багато.
Кешування маршрутів компілює маршрути в один закешований файл. В 10 разів швидше.
Як використовувати:
Запустити php artisan route:cache після деплою. Маршрути завантажуються з кешу, а не з файлів.
Важливі обмеження:
Closure маршрути НЕ працюють з кешуванням. Виникнуть помилки. Всі маршрути повинні використовувати синтаксис controller@method.
Найкраща практика:
- Ніколи не використовувати closures в маршрутах - завжди контролери
- Кешувати маршрути тільки в продакшені
- Очищати кеш коли додаються нові маршрути
- Додати до скрипту деплою
Порада: Поєднувати з config:cache та view:cache для максимальної продуктивності.
// ПОГАНО: Не працює з route:cache
Route::get('/users', function () {
return User::all();
});
// ДОБРЕ: Працює з кешуванням
Route::get('/users', [UserController::class, 'index']);
// Команди деплою
php artisan config:cache // Кешувати конфіг
php artisan route:cache // Кешувати маршрути
php artisan view:cache // Кешувати view
// Розробка - очистити всі кеші
php artisan optimize:clear
// Перевірити що маршрути закешовані
php artisan route:list
// Має завантажуватись миттєво якщо закешовано
// В composer.json - авто-кеш після деплою
"scripts": {
"post-autoload-dump": [
"@php artisan route:cache"
]
}