帝国 CMS 缓存怎么更新

juming
juming 初级会员超兽战士
发布于 2026-10-08 11:41 ·1 浏览 ·0 回复

学完这篇,你能分清帝国CMS里几种缓存的存放位置和刷新入口,改完模板或数据后页面不生效时,能按顺序把该清的缓存一次清干净。

第一步:先判断是哪一层缓存

帝国CMS的"缓存"不是一种东西,盲目刷新会浪费几分钟。先对号入座:

  • 改了后台参数、栏目、自定义字段 → 数据库缓存(e/data/dbcache/)
  • 改了模板、碎片、JS调用 → 模板/文件缓存(e/data/fc/、e/data/js/)
  • 页面是生成的静态 HTML → 静态页(e/data/html/)
  • 后台都对、前台就是你看着不对 → 浏览器或 CDN 缓存

注意:多数"改了没反应"其实是浏览器缓存。先按 Ctrl+F5(Mac 是 Cmd+Shift+R)强制刷新一次,再动后台。

第二步:后台一键刷新所有缓存

这一步解决 80% 的问题,结果是系统把数据库缓存、栏目缓存、TAGS 缓存等全部重建。登录后台(默认 /e/admin/),顶部菜单点 系统,左侧进入 数据更新中心,在页面里依次点击:

  • 更新数据库缓存
  • 更新栏目缓存
  • 更新TAGS缓存
  • 更新JS缓存
  • 清空临时文件

按钮点完会显示"更新完毕"之类的提示。帝国CMS 7.5 这几个入口都在这一个页面上,不用到处找。

注意:如果按钮点下去白屏或提示无权限,先看 e/data/ 目录是否可写(Linux 下建议 755,属主与 PHP 运行用户一致),否则缓存写不进去,刷新等于没刷。

第三步:刷新静态页面

这一步针对开了"生成静态页"的栏目,结果是前台 HTML 重新生成。仍在 数据更新中心 里:

  • 只改了一个栏目 → 刷新当前栏目(在栏目管理里选栏目后点刷新)
  • 改了首页 → 刷新首页
  • 改了通用模板,要全站生效 → 刷新所有列表页 + 刷新所有内容页,或直接 刷新所有页面

注意:数据量大的站点,"刷新所有内容页"会跑很久,可能触发 PHP 超时(默认 30 秒)或把 CPU 打满。建议在访问低谷执行,或者按栏目分批刷。执行前把"每次刷新条数"调小一些。

第四步:模板和字段改动后的正确顺序

改 .tpl 模板、加自定义字段后,正确顺序是:

  1. 更新数据库缓存(字段结构变了必须做,否则前台取不到新字段)
  2. 到 模板管理 里重新保存一次对应模板
  3. 再执行第三步的刷新页面

顺序颠倒会出现"模板明明改了,页面还是旧的"。

第五步:手动删除缓存文件

后台进不去或按钮无效时,用 FTP 或宝塔面板文件管理进网站根目录,删掉这些目录里的文件(保留目录本身和 index.html、.htaccess):

  • e/data/dbcache/ —— 数据库缓存
  • e/data/fc/ —— 文件缓存、碎片
  • e/data/tmp/ —— 临时文件
  • e/data/js/ —— JS 调用缓存
  • e/data/html/ —— 静态页(删了之后前台要重新刷新生成,否则 404)

注意:删之前先整站备份。删完第一次访问会稍慢,因为系统要重建缓存,这属正常现象。

第六步:别忘了 CDN 和浏览器

如果站点挂了 CDN(如又拍云、阿里云CDN、Cloudflare),后台刷新对它无效。去 CDN 控制台执行 刷新缓存 / 目录刷新,把首页和改动过的栏目 URL 提交一次。同时在浏览器开发者工具(F12)的 Network 面板勾选 Disable cache 再刷新,确认不是本地缓存骗了你。

小结

  • 先分清是数据库缓存、模板缓存、静态页还是浏览器/CDN 缓存,别乱刷。
  • 后台一键入口:系统 → 数据更新中心,依次更新数据库、栏目、TAGS、JS 缓存并清空临时文件。
  • 改了字段或模板,先更新数据库缓存,再刷新页面。
  • 全站刷新耗时耗资源,放低谷期、分批做。
  • 后台进不去就手动删 e/data/dbcache/、fc/、tmp/ 下的文件,删前备份、保留目录。
  • 静态站别忘了刷新 CDN,本地别忘了 Ctrl+F5。
版权声明:本文来自 GJ站长论坛《帝国 CMS 缓存怎么更新》
原文链接:https://www.gj0.com/thread-932.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。

全部回复 0

还没有回复,来抢沙发~