在构建高性能 WordPress 网站时,常见的缓存方案包括 wp-memcached + Batcache
和 Nginx FastCGI Cache
。本文将从性能、配置难度和使用场景等方面对两者进行比较。
结论简述
Nginx FastCGI Cache 通常更快。
原因是它直接在 Nginx 层缓存并返回静态内容,完全绕过 PHP 和 WordPress,而 Batcache 虽然也快,但仍需进入 PHP 层处理。
详细对比
项目 | wp-memcached + Batcache | Nginx FastCGI Cache |
---|---|---|
缓存位置 | WordPress 层(PHP 执行后) | Nginx 层(PHP 之前) |
性能 | 中等(需执行 PHP) | 极快(绕过 PHP) |
配置难度 | 简单(WP 插件即可) | 稍高(需配置 Nginx) |
灵活性 | 高(可用 WP 条件控制) | 低(需自定义 header 规则) |
缓存更新控制 | WP 控制(易集成插件) | 需额外配置 purge 机制 |
适合场景 | 带登录用户、插件多的站点 | 纯静态或访客内容为主的网站 |
工作流程对比
wp-memcached + Batcache
访客请求 → Nginx → PHP-FPM → WordPress → Batcache 检查缓存(使用 Memcached) → 返回缓存页面
Nginx FastCGI Cache
访客请求 → Nginx → 缓存命中?→ 是:直接返回缓存内容;否:请求 PHP → 缓存结果 → 返回
实际建议
- 如果你是内容发布型网站(如博客、新闻),访客多为未登录用户,强烈推荐 Nginx FastCGI Cache。
- 如果你有复杂逻辑、用户登录系统较多,推荐
wp-memcached + Batcache
,也可以结合对象缓存如 Redis 使用。