stounhandj / laravel-cache-route
缓存整个路由的输出(HTML),以加快您的Laravel应用程序的运行速度
v1.1.3
2022-06-27 16:41 UTC
Requires
- php: ^7.2 || ^8.0
- illuminate/contracts: ^6.9|^7.0|^8.0|^9.0
- illuminate/http: >=6.0
- illuminate/support: >=6.0
- laravel/framework: ^7.0|^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-27 21:28:15 UTC
README
这是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输出,如下所示
-
在您的路由中
Route::get('/', function () { // })->middleware("cache.page")
您还可以使用路由分组。请查阅Laravel文档中的中间件了解更多内容 这里
配置选项
您可以配置TTL(生存时间)为每秒
- 在您的路由中
Route::get('/', function () { // })->middleware("cache.page:10")
- 环境(对所有路由同时生效)
CACHE_TTL=10
思考
使用此类整个页面的缓存时要非常小心。请记住,缓存的内容对所有用户都是可见的。
- 对于“大部分静态”内容,可以尝试这样做!
- 对于“大部分动态”内容或高度用户自定义的内容,请避免使用这种策略。用户特定的信息是在服务器端收集的。所以,您本质上希望连接到服务器。
好规则:如果两个不同的用户在点击相同的URL时看到不同的页面,不要使用此策略来缓存输出。另一种选择可能是缓存数据库查询。