三层缓存:改了没反应,先分清是哪一层冻住的

Ju7CMS 用户手册 · 发布于 2026-10-16 · 更新于 2026-10-16

设置字典、模板编译、整页 HTML 三层缓存各自的时间与清除方式,加上一张「改了什么该查哪层」的对照表,以及排查时最省时间的一个技巧。

三层分别是什么

图 13:三层缓存与「改了没反应」的排查顺序
图 13:三层缓存与「改了没反应」的排查顺序(示意图,非屏幕截图)
层存的东西默认时间怎么清
① 设置字典站点设置、插件设置读进内存的一份副本约 1 小时自动过期后台「清除缓存」,或保存一次任意设置
② 模板编译cache/theme/ 下模板翻成的 asp不过期,改了模板必须删删 cache/theme/ 下内容(模板管理里也有清理入口)
③ 整页缓存cache/html/*.pcache 拼好的整页 HTML默认 600 秒删 cache/html/,或后台保存内容时自动失效

改了什么该查哪层

你改的是先查哪层怎么确认
后台改文章、改栏目③ 整页换一个很久没人访问的栏目页对比
theme/ 下的模板② 编译删 cache/theme 与 cache/html 各一次
css / js浏览器缓存看地址尾巴的 ?v= 变没变,见第二十一章
站点设置① 字典不清就是旧值,最多等一小时
直接改数据库(脚本、恢复备份)三层都要清,另外还要刷新栏目字段清单典型签名是「名字是新的、链接是旧的」

最省事的清法

  1. 后台点一次「清除缓存」,三层一起清,日常够用,不必手工删文件。
  2. 清完要重新访问同一个网址来看效果,不要用浏览器后退——后退看到的是浏览器里那一页。
  3. 排查时最有用的一招:拿一个很久没被访问的旧页面当对照,新旧渲染的差别一眼能看出来。

开了「模板缓存」之后改模板看不到效果,是这一层最常见的误判。它不是没保存,是编译结果还是旧的。开发期建议把模板缓存关掉(第五章)。

缓存不是越少越好

整页缓存是本站响应速度的主要来源:命中时不需要查库拼页。关掉它换来的是「改完立刻看到」,代价是每个访客都要重新拼一次页面。日常维护的正确姿势是留着缓存,改完手动清一次。