Laravel Responsecache
Laravel Responsecache stats
- Downloads
- 3.7M
- Stars
- 2,218
- Open Issues
- 2
- Forks
- 213
Speed up a Laravel application by caching the entire response
Laravel Response Cache by Spatie
The Laravel Response Cache package is designed to enhance your application's performance by caching entire HTTP responses. This can significantly speed up your Laravel application, especially for read-heavy sites.
Key Features
- Automatic Caching: By default, the package caches all successful GET requests that return text-based content, such as HTML or JSON, for one week.
- Customization: You can customize request caching behavior, cache duration, and even bypass the cache with specific headers.
- Cache Profiles: Implement your own logic to determine what gets cached using custom cache profiles.
- Selective Cache Clearing: Provides options to clear the entire cache, specific URIs, or based on model events.
- Middleware Integration: Easily integrate with Laravel's middleware to specify routes that should or should not be cached.
- Support for Cache Tags: If your cache driver supports tags, you can tag cached responses for more fine-grained cache management.
- Dynamic Content Replacement: Use replacers to dynamically adjust cached content before it is served, such as updating CSRF tokens.
Installation
-
With Composer:
composer require spatie/laravel-responsecache -
Publish Configuration:
php artisan vendor:publish --tag="responsecache-config" -
Register Middleware: Add the
CacheResponseandDoNotCacheResponsemiddleware to your HTTP kernel.
Usage
- Basic Usage: The package works out-of-the-box for caching all successful GET requests.
- Clearing Cache:
- Manually via
ResponseCache::clear(). - Using Artisan command:
php artisan responsecache:clear.
- Manually via
- Prevent Caching: Use the
doNotCacheResponsemiddleware to exclude routes from being cached. - Custom Cache Profiles: Implement the
CacheProfileinterface to define custom caching logic.
Advanced Configurations
- Modify
config/responsecache.phpto tweak settings like cache duration, cache bypass headers, cache profiles, and more. - Utilize cache tags and selectors for granular cache management.
Testing
Run the package's tests with:
composer test
More Information
For detailed documentation, you can watch a tutorial video provided by Spatie, or explore the full capabilities by reviewing the extensive options in the published config file. This package is a go-to solution for improving Laravel performance through response caching, offering extensive customization to fit various caching needs.