性能与缓存
编译页面和页面缓存的工作原理、缓存何时自动清除,以及更改未显示时该怎么办。
IGC CMS 通过预先构建页面并缓存结果来快速提供页面。大多数时候你察觉不到这一过程。本文说明其原理,以及更改没有显示出来时该怎么办。
编译后的页面
保存页面时,IGC CMS 会把它编译成可直接提供的版本。访客直接获取该版本,加载时无需再请求页面数据。
页面缓存
此外,服务器会为每个渲染好的页面保留一份缓存副本,在内容变化前一直使用它。每个页面的 缓存 设置(在 编辑设置 中)控制这一行为:
| 设置 | 行为 |
|---|---|
| 自动 | 缓存,除非页面显示来自数据源区块的实时数据 |
| 始终缓存 | 始终缓存 |
| 从不缓存 | 每次请求都重新渲染 |
几乎所有页面都适合使用 自动。
系统自动清除缓存的情况
- 保存页面 会清除该页面的缓存副本。
- 在主题库中 应用主题 会清除所有页面的缓存副本,因为每个页面都引用了主题。
需要手动清除的情况
缓存的页面不知道它所显示的 其他 内容已经改变。以下情况请手动清除:
- 页面列出了 文章,而你新增或修改了文章;
- 页面显示的其他来源的数据发生了变化;
- 内容是在 后台以外 修改的——例如直接编辑数据库、恢复备份或运行导入脚本。
清除方法:进入 管理后台 → 页面,在该页面所在行点击 清除缓存。下一位访客将获得全新的副本。
从不缓存的页面
显示实时数据的页面——例如连接到数据源区块的列表,或 /products/[id] 这样的详情页——会为每位访客重新渲染。对于其他必须始终最新的页面(例如显示当前时间或库存的页面),请自行设置为 从不缓存。
仍然看到旧版本?
- 按上述方法对该页面 清除缓存。
- 强制刷新 浏览器(macOS 上按 ⇧⌘R,Windows 上按 Ctrl+Shift+R)——你的浏览器可能保留着自己的副本。
- 确认页面的 状态 为 已完成。草稿 只有以管理员身份登录时才可见,因此在其他人看来可能像是 “不见了”。