geniussystems-np / cache-middleware
资源缓存中间件
1.0.1
2020-09-29 10:42 UTC
This package is auto-updated.
Last update: 2024-09-05 21:31:27 UTC
README
我们使用两个中间件进行缓存,一个用于从缓存中提供服务响应,另一个用于生成缓存。
- ServeCachedResponse
- 唯一的任务是如果可用,则从缓存中提供服务响应
- 此中间件应在中间件栈中的认证之后
- CacheReponse
- 此中间件应通过检查缓存头分析响应的可缓存性
- 如果响应可缓存,则应将响应缓存到配置的缓存存储(Redis)中
- 目前,我们只使用
cache-control
指令来缓存响应
该包使用 Laravel Cache
来存储和提供服务响应。任何带有 cache-control
指令和 max-age
的响应都将根据 max-age 参数中定义的持续时间进行缓存。
使用 composer 安装包
composer require geniussystems-np/cache-middleware
包安装后,在 app/Http/Kernel.php
中启用中间件,并将其添加到所需的中间件组。
protected $middleware = [ \App\Http\Middleware\TrustHosts::class, \App\Http\Middleware\TrustProxies::class, \Fruitcake\Cors\HandleCors::class, \App\Http\Middleware\PreventRequestsDuringMaintenance::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, . . \GeniusSystems\Http\Middleware\ServeCachedResponse::class, . . \GeniusSystems\Http\Middleware\CacheResponse::class, ];
ServeCacheResponse
应在认证中间件之后,因为它如果有响应则不会将请求传递到中间件栈中的其他中间件。以上代码假设您正在为所有路由启用 cache-middleware
。对于特定路由,您需要将其添加到相应的组,并在路由中启用中间件。