goatherd / gh-cache

WordPress和nginx模块的通用请求缓存层。

1.0 2014-05-15 13:39 UTC

This package is not auto-updated.

Last update: 2024-09-14 14:45:14 UTC


README

WordPress请求缓存层。

默认提供nginx反向代理/ fastcgi缓存模块服务,但可扩展以使用任何请求缓存后端。

功能

  • 通用请求缓存层
  • 缓存、缓存否决和清除事件
  • 插件加载钩子上准备事件
  • 定义生存时间过滤器(对非正时间有隐式否决)
  • 默认事件处理器(缓存、否决、清除)

要求

  • PHP 5.3或更高版本
  • WordPress 3.8+(可能适用于旧版本)

默认配置功能

  • 通过X-accel-expires头部启用代理缓存
  • 在评论时刷新缓存
  • 在发布/编辑帖子时刷新缓存
  • 默认清除一些相关帖子
  • 选择性绕过缓存
  • 可以通过gh-cache-veto过滤器进行否决
  • 可以通过gh-cache-ttl过滤器覆盖生存时间
  • 可以将清除扩展到覆盖相关URL

要求

  • nginx
  • php curl模块
  • 可以编辑vhost配置

安装

  • 待办事项 解释nginx配置(简单)
  • 待办事项 解释nginx配置(完整)
  • 待办事项 解释nginx配置(高级清除,适用于nginx 1.5.7+和清除模块)

不兼容性

  • 如果WordPress安装依赖于会话缓存,则Set-Cookie头部将阻止缓存;缓存将非常有限或无法实现

  • 缓存通过URL刷新:一次刷新一个。如果WordPress安装需要清除大量相关帖子,应使用其他方法

  • WordPress安装必须可缓存。最常见的标准是为大多数请求提供静态内容(以及AJAX动态部分)

  • 不适用于用户(代理)级缓存

技术说明

符合PSR-4规范的代码,近似于SOLID原则。

目前仅支持nginx代理和fastcgi缓存。

由于nginx缓存实现的限制,URL只能逐个刷新。不支持通配符刷新或完全刷新。