我的知识记录

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, '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 "$(date) PbootCMS缓存清理完成" ``` - 多站点写多行或循环。

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

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

静态缓存优化: - 开启html_cache后,页面生成静态HTML,访问直接返回,不执行PHP。 - 适合内容不常更新的企业站,速度提升10倍。 - 资讯站内容更新频繁,静态缓存时间设短(300秒)或关闭。 - 更新内容后主动清静态缓存。

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

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

监控缓存目录: ``` du -sh /www/wwwroot/域名/runtime du -sh /www/wwwroot/域名/runtime/* ``` - 看哪个子目录占空间大,针对性处理。 - log大→关日志或定期清。 - html大→静态缓存时间设短。 - cache大→正常,定期清。

磁盘告警脚本: ``` SIZE=$(du -sm /www/wwwroot/域名/runtime | awk '{print $1}') if [ $SIZE -gt 500 ]; then echo "runtime超过${SIZE}MB,需要清理" fi ``` - 每天执行,提前发现磁盘满风险。

从源头减少缓存: - 生产环境关debug和log(最关键,日志是runtime爆满主因)。 - cache_time设合理(1800-3600秒)。 - 静态缓存时间根据更新频率设。 - 用Redis替代文件缓存。

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

PbootCMS后台自动清理缓存_定时任务_缓存策略_静态化_性能优化

标签:

更新时间:2026-08-26 18:05:24

上一篇:如何替换公司网站的图片和文字:一站式内容更新操作手册

下一篇:pbootcms后台"登录失败次数锁定"解决办法:解锁、配置、安全加固