stounhandj/laravel-cache-route

缓存整个路由的输出(HTML),以加快您的Laravel应用程序的运行速度

v1.1.3 2022-06-27 16:41 UTC

This package is auto-updated.

Last update: 2024-09-27 21:28:15 UTC


README

Total Downloads Latest Stable Version License

这是Laravel 7.0+ / PHP 7.2+的包,它提供了缓存路由的功能,可以设置缓存时间。

安装

$ composer require stounhandj/laravel-cache-route

或者

{
    "require": {
        "stounhandj/laravel-cache-route": "^v1.1"
    }
}

使用

将中间件添加到kernel.php文件中

'cache.page' => \StounhandJ\LaravelCacheRoute\Middleware\CacheRoteMiddleware::class,

现在,使用中间件来缓存您路由中整个页面的HTML输出,如下所示

  1. 在您的路由中

    Route::get('/', function () {
         //
    })->middleware("cache.page")

    您还可以使用路由分组。请查阅Laravel文档中的中间件了解更多内容 这里

配置选项

您可以配置TTL(生存时间)为每秒

  1. 在您的路由中
    Route::get('/', function () {
         //
    })->middleware("cache.page:10")
  2. 环境(对所有路由同时生效)
    CACHE_TTL=10

思考

使用此类整个页面的缓存时要非常小心。请记住,缓存的内容对所有用户都是可见的。

  1. 对于“大部分静态”内容,可以尝试这样做!
  2. 对于“大部分动态”内容或高度用户自定义的内容,请避免使用这种策略。用户特定的信息是在服务器端收集的。所以,您本质上希望连接到服务器。

好规则:如果两个不同的用户在点击相同的URL时看到不同的页面,不要使用此策略来缓存输出。另一种选择可能是缓存数据库查询。