ostark/upper

此包已被弃用且不再维护。未建议替代包。

Craft 缓存插件 - 支持多个 Edge 缓存

安装次数: 35,889

依赖者: 1

建议者: 0

安全性: 0

星标: 102

关注者: 4

分支: 22

开放问题: 17

类型:craft-plugin

2.0.0-beta1 2019-01-02 23:36 UTC

README

upper.png

您的 Craft 网站的强力补药

Latest Stable Version Total Downloads Monthly Downloads

Upper 通过在您的 web 服务器前使用 缓存代理 来显著提高 Craft 的速度。

插件会为您的页面添加必要的 Cache-ControlXKEY/Surrogate-Key/Cache-Tag 标头。当控制面板中的条目或部分被更新时,它会负责缓存失效。

如果您需要了解 HTTP 缓存的入门介绍,我强烈推荐阅读 这篇文章

赞助商

开发在我的业余时间进行,但也包括工作时间。感谢 fortrabbit.com

如果您需要额外的集成(缓存驱动程序),请随时贡献或 提出问题

支持的缓存驱动程序

  • KeyCDN (CDN/SaaS)
  • Fastly (CDN/SaaS)
  • Cloudflare (CDN/SaaS)
  • 支持 XKEY 的 Varnish(您的代理服务器)
  • 模拟(无操作)

安装

  1. 从您的项目目录中通过 Composer 使用 composer require ostark/upper 安装
  2. 使用此命令 php craft plugin/install upper 安装插件或在 Craft CP 下的设置 > 插件中安装
  3. 将在 your-project/config/upper.php 中自动生成新的配置文件。

Fastly 设置

UPPER_DRIVER=fastly
FASTLY_API_TOKEN=<REPLACE-ME>
FASTLY_SERVICE_ID=<REPLACE-ME>
FASTLY_DOMAIN=http://<REPLACE-ME>

KeyCDN 设置

UPPER_DRIVER=keycdn
KEYCDN_API_KEY=<REPLACE-ME>
KEYCDN_ZONE_URL=<REPLACE-ME>.kxcdn.com
KEYCDN_ZONE_ID=<REPLACE-ME>

Cloudflare 设置

UPPER_DRIVER=cloudflare
CLOUDFLARE_API_TOKEN=<REPLACE-ME>
CLOUDFLARE_ZONE_ID=<REPLACE-ME>
CLOUDFLARE_DOMAIN=https://<REPLACE-ME>

默认情况下,Cloudflare 的 CDN 不缓存 HTML 内容。您需要创建一个 缓存级别:缓存所有内容 页面规则以启用“页面”的缓存。

如果您不使用具有本地 Cache-Tag 支持的 Cloudflare 企业版,请确保在 config/upper.php 文件中启用 useLocalTags(默认值),否则请禁用它。

您可以在 Cloudflare 控制台中生成一个令牌。您希望创建一个具有“区域缓存清除”权限的定制令牌,该权限限制在您希望清除 Cloudflare 缓存的 DNS 区域(s)中。

Varnish 设置

Varnish URL 支持多个服务器,用逗号分隔。例如 http://1.1.1.1,http://2.2.2.2

UPPER_DRIVER=varnish
VARNISH_URL=<REPLACE-ME>

调整

在模板中,您可以完全禁用缓存,如下所示

{% do upper.cache.never() %}

…这是下面内容的缩写

{% header "Cache-Control: private, no-cache" %}

默认情况下,将使用 defaultMaxAge 配置设置来确定设置的缓存持续时间。这可以在模板中重写

{% do upper.cache.for('5 minutes') %}

…这是下面内容的缩写

{% header "Cache-Control: public, s-maxage=300" %}

性能结果

example

缓存标签头

example

免责声明

尽管插件名称和一些措辞是故意的,但作者并不美化任何药物滥用。🍻此插件灵感来源于 joshangell/Falcon