Laravel - improve site performance by caching entire response
we always want to speed up our website to load and try to improve performance using cache. in this tutorial i will explain how to make faster load site in laravel 5, laravel 6, laravel 7, laravel 8 and laravel 9 application.
If you are working on blog website or some content website then i think you have same response always in blade file. so, if we cache an entire response then it make faster your site. here we will use laravel-responsecache composer package for cache response.
laravel-responsecache provide several option to cache response. if you don't want to cache response on some routes then you can use their middleware. Also you can simple configuration by responsecache.php config file. also you can simply clear cache by their command.
First we have to install laravel-responsecache composer package by following command, so just run bellow command on your project root directory.
composer require spatie/laravel-responsecache
After run successfully command, you have to run bellow command to create config file.
php artisan vendor:publish --provider="Spatie\ResponseCache\ResponseCacheServiceProvider"
now you can see responsecache.php file in config folder.
You have to use middleware in Kernel.php file. so add like as bellow:
app/Http/Kernel.php
...
protected $middlewareGroups = [
'web' => [
...
\Spatie\ResponseCache\Middlewares\CacheResponse::class,
],
...
protected $routeMiddleware = [
...
'doNotCacheResponse' => \Spatie\ResponseCache\Middlewares\DoNotCacheResponse::class,
];
You can clear response cache by following command:
php artisan responsecache:clear
If you do not want to cache some routes then use middleware like as bellow:
Route::get('/auth/logout', ['middleware' => 'doNotCacheResponse', 'uses' => 'AuthController@getLogout']);
you can specify the number of minutes these routes should be cached by following way:
Route::get('/my-special-snowflake', 'SnowflakeController@index')->middleware('cacheResponse:5');
You can try and check it...

Hardik Savani
I'm a full-stack developer, entrepreneur and owner of Aatman Infotech. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Implement Flash Message with Laravel 5.7
- Laravel 5.7 - Generate PDF from HTML Example
- Laravel 5.7 - Create REST API with authentication using Passport Tutorial
- How to send mail using queue in Laravel 5.7?
- Laravel 5.7 Autocomplete Search from Database using Typeahead JS
- Laravel 5.7 CRUD (Create Read Update Delete) Tutorial Example
- Laravel Improve Speed Performance using Model Caching Tutorial
- How to optimize website speed and performance in Laravel?