Laravel 5 页面缓存中间件

https://github.com/anerg2046/laravel-cache...

Laravel 中间件-Response 缓存

功能

  • 支持缓存渲染后数据
  • 支持指定缓存过期时间(最低 10 分钟)
  • header 头输出缓存命中状态、缓存 Key 及过期时间
  • 支持分组缓存(如果缓存支持)
  • 支持清空缓存(必须支持分组缓存)
  • 支持跳过缓存
  • 支持清理当前缓存

安装

composer require anerg2046/laravel-cache-page

配置

\app\Http\Kernel.php文件中$routeMiddleware增加:

'cache.response' => \anerg\Laravel\Http\Middleware\CacheResponse::class,
// cache.response 命名随意,你开心就好

增加配置文件config\pagecache.php

return [
    //是否不进行缓存 - 开发模式下,应该为true
    'skip'       => false,
    //是否允许url参数 跳过缓存
    'allowSkip'  => true,
    //是否允许url参数 清空缓存
    'allowFlush' => true,
    //是否允许url参数 清除当前地址缓存
    'allowClear' => true
];

使用

<?php
Route::get('/', function () {
    return view('welcome');
})->middleware('cache.response');

Route::get('/', function () {
    return view('welcome');
})->middleware('cache.response:20');  // 指定缓存时间20分钟

一般来说只应该缓存 get 请求的页面

URL 请求方法

跳过缓存
http://abc.com/?skipcache=1
清空缓存
http://abc.com/?flushcache=1
清除当前地址缓存
http://abc.com/?clearcache=1

附录

缓存规则

  • 当前 URL 路径+json_encode 查询键值数组 md5

Headers

X-Cache:Missed
X-Cache-Expires:2018-03-29 15:08:29 CST
X-Cache-Key:6c9b19774e2c304a42d200f314d8c80b

修改自

https://github.com/flc1125/laravel-middlew...

License

MIT

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!