Как сделать ваш Laravel-сайт супер быстрым с помощью кэширования страниц

1. Установите пакет:

composer require silber/page-cache

2. Добавьте посредника кэширования в http/kernel.php:

'page-cache' => \Silber\PageCache\Middleware\CacheResponse::class,

3. Примените посредника к маршрутам:

Route::get('/post/{slug}', 'SiteController@post')->middleware('page-cache');

4. Настройте .htaccess:

# Serve Cached Page If Available...
RewriteCond %{REQUEST_URI} ^/?$
RewriteCond %{DOCUMENT_ROOT}/page-cache/pc__index__pc.html -f
RewriteRule .? page-cache/pc__index__pc.html [L]
RewriteCond %{DOCUMENT_ROOT}/page-cache%{REQUEST_URI}.html -f
RewriteRule . page-cache%{REQUEST_URI}.html [L]
RewriteCond %{DOCUMENT_ROOT}/page-cache%{REQUEST_URI}.json -f
RewriteRule . page-cache%{REQUEST_URI}.json [L]

5. Очистка кэша:

6. Автоматическая очистка при обновлении модели:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Artisan;

class Post extends Model
{
    public static function boot()
    {
        parent::boot();

        static::updated(function ($model) {
            Artisan::call("page-cache:clear $model->slug");
        });
    }
}

Кэширование страниц значительно улучшает производительность вашего сайта за счет снижения времени отклика и нагрузки на сервер. Оно особенно полезно для сайтов с высоким трафиком, где каждая миллисекунда имеет значение.

Использование кэширования страниц с пакетом silber/page-cache помогает повысить производительность вашего Laravel-приложения, делая его быстрым и отзывчивым. Этот метод легко внедрить и поддерживать, что делает его идеальным выбором для разработчиков, стремящихся улучшить пользовательский опыт на своих сайтах.

Комментарии 2

Авторизуйтесь чтобы оставить комментарий

Комментарий для получения 1хр

Ответить