Web Analytics Made Easy - StatCounter
Главная Блог Сделайте сайт Laravel сверхбыстрым с помощью кеширования страниц

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

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

Введение

Каждый хочет загружать свой веб-сайт быстрее, но из-за низкого ресурса сервера выполнение SQL-запроса динамического веб-сайта, логическая обработка и некоторые вещи на стороне сервера замедляют его при увеличении посещаемости веб-сайта. В этой ситуации мы можем обслуживать наш динамический веб-сайт на laravel как статическую HTML-страницу с кешем страниц с нулевым запросом к базе данных! Он загружает страницы вашего сайта молниеносно! В этом посте я покажу вам пошаговый процесс ускорения вашего динамического веб-сайта на laravel с помощью кеша страниц.

Как сделать сайт Laravel сверхбыстрым

  1. Установите пакет кеширования страниц.
  2. Добавить промежуточное ПО кеширования страниц.
  3. Добавьте сниппет в файл htaccess.
  4. Очистить и обновить кеш страниц.

1. Установите пакет кеширования страниц

Установите пакет silber / page-cache. Для этого запустите приведенную ниже команду композера.

composer require silber/page-cache 

2. Добавить промежуточное ПО кеширования страниц

Зарегистрируйте промежуточное ПО кеширования страниц в файле http / kernel.php.

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

Теперь добавьте промежуточное ПО к маршрутам, ответ на которые вы хотите кэшировать.

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

Здесь я добавил page-cache промежуточное ПО для кеширования страниц в динамический маршрут публикации. Каждый ответ страницы будет кэшироваться как HTML-страница в нашем каталоге public / page-cache и будет обслуживать страницу очень быстро, не затрагивая логику фреймворка Laravel и запрос к базе данных.

3. Добавить фрагмент в файл htaccess

Добавьте этот фрагмент кода в свой файл htaccess перед # Handle Front Controller .... Если вы используете сервер Nginx, следуйте документации пакета page-cache.

# 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] 

4. Очистить и обновить кеш страниц

Удалите кеш страницы с помощью этой ремесленной команды.

php artisan page-cache:clear {slug} 

Мы можем использовать модель boot для удаления кеша страницы при обновлении публикации. После пост-обновления он автоматически удалит кеш страницы и сделает его снова, когда получит первый запрос.

<?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"); }); } } 

Надеюсь, этот пост поможет вам обслуживать ваш динамический веб-сайт на laravel как статический с помощью кеширования страниц, что сделает ваш сайт очень быстрым! Вы можете узнать больше об увеличении скорости публикации на веб-сайте laravel. Если вы найдете этот пост полезным, поделитесь им с другими.

Источники

Make laravel site super fast by page-cache!