goatherd / gh-cache
WordPress和nginx模块的通用请求缓存层。
1.0
2014-05-15 13:39 UTC
Requires
- composer/installers: ~1.0
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只能逐个刷新。不支持通配符刷新或完全刷新。