Z-Blog 缓存重建没生效?从机制上理解它的失效顺序

· zblog · 阅读 4
摘要

先说结论:「点了重建但页面没变」通常不是缓存没清,而是清了 A 处的缓存,你看到的是 B 处的缓存。Z-Blog 的缓存至少分模板编译、模块/侧栏、配置、浏览器与 CDN 四五层,要按顺序理解。 一、缓存分几层 模板编译缓存:模板文件编译成

先说结论:「点了重建但页面没变」通常不是缓存没清,而是清了 A 处的缓存,你看到的是 B 处的缓存。Z-Blog 的缓存至少分模板编译、模块/侧栏、配置、浏览器与 CDN 四五层,要按顺序理解。

一、缓存分几层

  1. 模板编译缓存:模板文件编译成可执行 PHP。改模板不重建则不生效。
  2. 模块/侧栏缓存:导航、侧栏内容生成后缓存,改模块不重建则不更新。
  3. 配置缓存:站点与插件配置写入缓存,改配置不清缓存可能读到旧值。
  4. 页面缓存/CDN:整页 HTML 被缓存,与上面几层无关。
  5. 浏览器缓存:HTML 或静态资源本地缓存。

二、为什么「重建了还是旧样子」

  • 只重建了模板,没重建模块 → 侧栏依旧。
  • 模板与模块都重建了,但 CDN 还缓存着旧 HTML。
  • 本地浏览器缓存未清,看到的仍是旧页面(无痕窗口可验证)。
  • 文件权限导致编译文件写入失败,重建「成功」但实际没写进去。

三、正确的操作顺序

  1. 改完模板/模块/配置。
  2. 后台执行清空缓存并重建(模板 + 模块都勾上)。
  3. 刷新 CDN 缓存。
  4. 用无痕窗口验证。
  5. 仍不对,检查缓存目录文件时间戳是否真的更新了。

四、权限导致的「假成功」

缓存目录不可写时,系统可能不报错但也没写新文件。检查目录属主与权限,必要时手动清空缓存目录内容再重建一次。

五、开发时的建议

  • 开发阶段关闭页面缓存与 CDN,避免误判。
  • 每次改模板后固定走「重建 → 无痕验证」两步。
  • 记住一句话:缓存问题要一层一层剥,不要一次改五处。