guzaba-platform / request-caching
GuzabaPlatform 请求缓存组件
dev-master
2021-03-07 14:49 UTC
Requires
- composer/composer: ^1.3
- guzaba-platform/components-base: dev-master
- guzaba-platform/guzaba-platform: dev-master
- guzaba-platform/guzaba-platform-installer: dev-master
Requires (Dev)
- composer/composer: ^1.3
This package is auto-updated.
Last update: 2024-09-07 22:23:50 UTC
README
为GuzabaPlatform提供的请求缓存组件。
如果请求中使用的ActiveRecord对象未被修改(或没有创建新的对象),则会缓存请求响应。
安装和配置
$ composer require guzaba-platform/request-caching
不需要配置。安装后,应用程序启动时应显示以下信息
[2.022402 Startup] Installed components:
...
- guzaba-platform/request-caching - GuzabaPlatform\RequestCaching : /home/local/PROJECTS/guzaba-platform-marketplace/guzaba-platform-marketplace/vendor/guzaba-platform/request-caching/app/src
...
如果初始化成功
[2.022484 Startup] Middlewares:
...
- GuzabaPlatform\RequestCaching\CachingMiddleware - guzaba.source:///home/local/PROJECTS/guzaba-platform-marketplace/guzaba-platform-marketplace/vendor/guzaba-platform/request-caching/app/src/CachingMiddleware.php
...
防止请求被缓存
有两种方法可以防止请求被缓存
- $Request 包含属性 "no_cache"
- $Response 包含头 "pragma: no-cache" 或 "cache-control: no-cache"
其他详细信息
它注入了一个新的中间件 - GuzabaPlatform\RequestCaching\CachingMiddleware,并在 ActiveRecord:_after_read 事件上注册了一个回调。它还使用 OrmMetaStore 服务来获取对象的最后修改时间(以及使用类元数据创建的新对象的创建时间)。