guzaba-platform/request-caching

GuzabaPlatform 请求缓存组件

安装: 18

依赖: 0

建议者: 2

安全性: 0

星标: 0

关注者: 5

分支: 0

开放问题: 1

类型:guzaba-platform-component

dev-master 2021-03-07 14:49 UTC

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 服务来获取对象的最后修改时间(以及使用类元数据创建的新对象的创建时间)。