大猫OPC

缓存与批量运维

阅读 8 更新于 2026-10-27

先说结论

1.2 万个站不可能每次请求都查库渲染。站群的性能靠三件事:门户缓存、sitemap 缓存、站点不缓存。

三层缓存策略

层 内容 时长 失效
门户页 首页 / 列表 / 地区页 180 秒 改平台设置、保存站点时主动清
sitemap 分片文件 1 小时 过期自然重建
城市站页面 不落 HTML 缓存 — 内容与留言状态实时

为什么城市站不缓存:页面数量太多,缓存命中率低,维护成本高于收益;而且内容改动要立即生效。

批量脚本要幂等

三个核心脚本:

php tools/seed_tenants.php  <db> --apply      # 租户与产品初始化
php tools/import_streets.php <db> <pcas.json> --apply   # 街道字典
php tools/generate_sites.php <db> --apply     # 批量铺站

规矩:

  1. 默认 dry-run,必须显式 --apply 才写库
  2. 重复执行不产生重复数据(按 slug/tenant 判断)
  3. 每次执行输出"新建 / 跳过 / 失败"数量

一次铺一个省

后台选省份 → 选主打词池 → 设置每站内容篇数 → 生成。一个省几百到几千个站,通常几分钟内完成。

运维清单

  • 每天:备份 citycms.db + static/upload/
  • 每周:看一次收录、清理过期缓存
  • 每月:VACUUM 数据库、抽查 3 个站的内容质量
  • 上线/改版:按"上线检查清单"逐条过(robots、泛解析、证书、404)
本页内容对你有帮助吗? 感谢反馈(演示按钮,暂未接入后端)