Laravel Response 中间件缓存,一步加速页面加载速度

项目地址:https://github.com/flc1125/laravel-middleware-cache-response

功能


  • 支持缓存渲染后数据
  • 支持指定缓存过期时间(默认10分钟)
  • header头输出缓存命中状态、缓存Key及过期时间

安装


composer require flc/laravel-middleware-cache-response

配置


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

'cache.response' => \Flc\Laravel\Http\Middleware\CacheResponse::class,

// cache.response 命名随意,你开心就好

使用


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

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

附录


缓存规则

  • 当前URL全路径md5

Headers

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

TODO


  • 增加statusheader的支持

Licenes


MIT

Flc゛ has written 3 articles

叶子坑-来也匆匆,去也冲冲···

个人博客:http://flc.ren/

2 thoughts on “Laravel Response 中间件缓存,一步加速页面加载速度

    1. Flc says:

      缓存key的定义是所有网址。主要开源,就无法100%满足所有使用者的需求,只能尽量满足大多使用者。你可以依靠php多态继承的方式,继承`Flc\Laravel\Http\Middleware\CacheResponse`后,重写义`resolveKey`方法

发表评论

标记为*的字段是必填项(邮箱地址不会被公开)

你可以使用这些HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>