rose1988c/ laravel-routecache-middleware
Laravel使用路由中间件实现页面缓存
5.1
2015-11-13 14:52 UTC
Requires
- php: >=5.5.0
- illuminate/cache: ^5.1
- illuminate/support: ^5.1
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-09-23 12:32:50 UTC
README
通过路由添加页面缓存。
缓存最好不放在程序逻辑内部,找缓存会很累,我建议缓存放在路由中。
缓存放在路由里面,使用方法如下:
Route::group(['middleware' => 'cache:10'], function(){
Route::get('/', 'HomeController@index');
});
###安装
添加到composer.json
"rose1988c/laravel-routecache-middleware":"dev-master" or composer require rose1988c/laravel-routecache-middleware:dev-master
通过在config/app.php的provider部分添加服务提供者进行注册
'providers' => [
...
Rose1988c\RouteCache\RouteCacheServiceProvider::class
...
以防万一
composer dump-autoload
发布迁移和配置文件
php artisan vendor:publish
添加到app\Http\Kernel.php
'cache' => \Rose1988c\RouteCache\CacheMiddleWare::class,
'flush' => \Rose1988c\RouteCache\FlushMiddleWare::class,
设置Route.php
// set cache lifetime 10
Route::group(['middleware' => 'cache:10'], function(){
Route::get('/', 'DemoController@index');
});
清除缓存
- flush -> 清除当前请求URL
- flush:ref -> 清除引用URL,常用于AJAX
- flush:url -> 清除指定URL,常用于管理和清理指定URL,添加参数
?flushurl=http://xxxxx
Route::group(['middleware' => 'flush'], function(){
Route::any('switchP', 'HomeController@switchP');
});
Route::group(['middleware' => 'flush:ref'], function(){
Route::any('switchP', 'HomeController@switchP');
});
// test url: http://192.168.141.129:8084/cleanCache?flushurl=http://192.168.141.129:8084/wealthbalance
// result : ok
Route::group(['middleware' => 'flush:url'], function(){
Route::any('cleanCache', function(){
echo 'hello, world!';
});
});