我的知识记录

PbootCMS后台自动清理缓存_定时任务_缓存策略_静态化配置

PbootCMS缓存自动清理和性能优化完整方案,包含定时任务、缓存配置、静态化。

PbootCMS缓存类型: 1. 模板缓存:runtime/cache,编译后的模板PHP文件。 2. 数据缓存:runtime/cache,数据库查询结果。 3. 静态缓存:runtime/html,整个页面的静态HTML(需开启)。 4. 日志:runtime/log,运行日志(生产环境应关闭)。 5. 临时文件:runtime/temp。

config.php缓存配置: ``` // 模板缓存有效期(秒) 'cache_time' => 3600, // 调试模式(生产关) 'debug' => false, // 日志记录(生产关) 'log' => false, // 静态缓存 'html_cache' => true, 'html_cache_time' => 3600, // 缓存类型(file/redis/memcache) 'cache_type' => 'file', ```

自动清理定时任务(宝塔): - 宝塔→计划任务→任务类型Shell脚本。 - 执行周期每天凌晨3点。 - 脚本内容: ``` # 清理模板和数据缓存 rm -rf /www/wwwroot/域名/runtime/cache/* # 清理日志 rm -rf /www/wwwroot/域名/runtime/log/* # 清理临时文件 rm -rf /www/wwwroot/域名/runtime/temp/* # 清理静态缓存(开启了静态缓存才需要) rm -rf /www/wwwroot/域名/runtime/html/* echo "PbootCMS缓存清理完成: $(date)" ``` - 多站点写多行或循环。

清理后预生成缓存: - 清缓存后第一次访问慢,因为要重新生成。 - 脚本加一行爬取网站生成缓存: ``` wget -q -O /dev/null --recursive --no-parent --level=3 http://www.域名.com ``` - 放在清理命令后面,凌晨执行不影响用户。 - 页面多的话爬取时间长,设合理的level深度。

Redis缓存(进阶): - 大站点用Redis替代文件缓存,速度更快。 - config.php里`'cache_type' => 'redis'`。 - 配置Redis连接:host、port、password。 - 宝塔安装Redis,PHP装redis扩展。 - Redis缓存自动过期,不需要手动清理文件。

静态缓存优化: - 开启html_cache后,页面生成静态HTML,访问时直接返回,不执行PHP。 - 适合内容不常更新的企业站。 - 静态缓存有效期内更新内容不显示,需要主动清缓存。 - 资讯站内容更新频繁,静态缓存时间设短(300秒)或关闭。 - 静态缓存文件存在runtime/html,定期清理过期的。

CDN配合: - PbootCMS做后端缓存,CDN做前端缓存。 - CDN缓存时间设300-1800秒。 - 更新内容时主动刷新CDN。 - 静态资源(图片、CSS、JS)CDN缓存30天。 - 两层缓存下来,动态网站接近静态站速度。

缓存清理时机: - 修改模板:PbootCMS自动检测模板变更,重新编译,不用手动清。 - 修改系统配置:需要清缓存。 - 发布文章:自动更新相关缓存。 - 切换模板:清全部缓存。 - 升级程序:清全部缓存。 - 网站异常:先清缓存测试,很多问题清缓存解决。

监控缓存目录: - `du -sh /www/wwwroot/域名/runtime`看大小。 - 宝塔监控磁盘使用率。 - 写脚本监控,超过阈值发通知: ``` SIZE=$(du -sm /www/wwwroot/域名/runtime | awk '{print $1}') if [ $SIZE -gt 500 ]; then echo "runtime超过${SIZE}MB,需要清理" fi ```

缓存是把双刃剑,开了加速但更新不及时。根据网站类型选合适的缓存策略,企业站开静态缓存+长有效期,资讯站用模板缓存+短有效期。自动清理+监控,避免缓存目录爆满。

PbootCMS后台自动清理缓存_定时任务_缓存策略_静态化配置

标签:

更新时间:2026-08-26 17:40:49

上一篇:如何轻松进行pbootcms模板修改:新手友好的零代码修改指南

下一篇:PbootCMS自动清理缓存设置方法_定时任务配置_runtime目录自动维护