Response cache
, (*1)
Laravel 5 response cache., (*2)
Install
Require this package with Composer (Packagist), using the following command:, (*3)
``` bash
$ composer require media24si/response-cache, (*4)
Register the ResponseCacheServiceProvider to the providers array in `config/app.php`
``` php
Media24si\ResponseCache\ResponseCacheServiceProvider::class
Publish vendor files (config file):
``` bash
$ php artisan vendor:publish, (*5)
To access cache manager register facade in `config/app.php`
``` php
'ResponseCacheManager' => Media24si\ResponseCache\Facades\ResponseCacheManagerFacade::class
Usage
Register middleware as a global in app/Http/Kernel.php
``` php
\Media24si\ResponseCache\Http\Middleware\CacheMiddleware::class, (*6)
To cache response, mark response as public and set max-age (TTL):
``` php
return response()->json(['name' => 'John'])
->setPublic()
->setMaxAge(600);
Tag usage
Many times you want to assing tags to URI. With assigned tags it's simple to clear more cached URIs., (*7)
To assign tag to caching response, set cache-tags header. To assign more tags, seperate them with comma (,)., (*8)
To cache response, mark response as public and set max-age (TTL):
``` php
return response()->json(['name' => 'John'])
->setPublic()
->setMaxAge(600)
->header('cache-tags', 'foo,bar,john,doe');, (*9)
To flush all keys for tag:
``` php
ResponseCacheManager::flushTag('foo')
Config
Check responseCache.php for all possible configurations., (*10)
License
The MIT License (MIT). Please see License File for more information., (*11)