这是emlog建站系统的一款插件。要使用此插件,您需要先安装emlog系统。
安装教程
无代码加密 无额外授权 版本号:1.4
适配PHP:7.4+
最近更新:1.4 14小时前
修复宝塔环境的使用问题
使用说明
功能介绍
为什么做这个呢,因为我当时想要提高下网页加载速度,这样给cdn也快。
静态缓存 Pro 将首页、分类列表页、标签列表页、作者列表页、归档列表页及文章/页面详情页渲染结果缓存为静态 HTML 文件,后续请求直接返回静态文件,跳过 PHP 执行与数据库查询,大幅提升响应速度。

核心特性
1. 智能缓存
- 自动缓存首页、分类/标签/作者/归档列表页、文章与页面详情页
- 智能排除:已登录用户、后台请求、POST 请求、密码保护文章、跳转链接文章、隐藏/未审核内容、定时发布文章等均不缓存
- 缓存内容过短(< 100 字节)自动跳过,避免缓存错误页面
2. 灵活的缓存有效期
- 支持设置缓存 TTL(0 ~ 2,592,000 秒)
3. Stale-While-Revalidate 机制
- 缓存过期时,若另一个进程正在重建缓存,当前请求仍然返回旧缓存
- 有效防止缓存雪崩/惊群效应
4. 精准缓存清除
- 文章更新/删除时,自动清除该文章详情页、首页、所属分类列表、所属标签列表、作者列表的相关缓存
5. 异步浏览量更新
- 缓存页面通过 JavaScript 异步获取并更新浏览量
- 文章详情页自动 +1 浏览(60 秒内同一会话同一文章仅计一次)
6. 全站预缓存
- 后台一键触发全站预缓存,自动遍历并缓存所有可缓存页面
使用方法
- 安装并启用插件
- 进入插件设置页面,开启缓存开关
- 根据需要调整缓存有效期
- 点击「全站预缓存」按钮,主动生成全站静态缓存
- 后续内容发布、编辑、评论等操作将自动触发相关缓存更新
缓存存储
- 缓存文件位于
content/cache/static/目录 - 每个缓存文件以 URL 路径的 MD5 哈希命名
- 设置页面可查看当前缓存文件数量与总大小
- 支持一键清除全部缓存
注意事项
- 确保服务器
content/cache/static/目录可写 - 需要 PHP curl 扩展支持全站预缓存功能
- 已登录用户始终获取动态页面,不受缓存影响
- 修改插件设置后会自动清除全部缓存以保证一致性
我安装后 在 /content/cache/static 目录生成的都是0B的.lock文件,是怎么回事?如下图:

-
1.4
14小时前修复宝塔环境的使用问题
-
1.2
2个月前1.2
JOSEN
铁杆 4小时前
接着之前的问题,0B的.lock文件问题已经解决,但是在后台点 “全站缓存”后 在 /content/cache/static 目录并没有HTML文件生成,后来我用 宝塔AI 进行了分析,得出的结论是:”View::output() 函数直接调用 exit,没有触发 before_exit 钩子,导致 static_cache_pro 插件的缓存保存函数无法执行“ 进行修复后正常了。
JOSEN 铁杆 4小时前
修复文件:wwwroot/ai_josen_net/include/lib/view.php
修复内容:在 ob_end_flush(); 和 exit; 之间添加 doAction('before_exit', $content);
现在已经正常了。
JOSEN 铁杆 4小时前
public static function output()
{
$content = ob_get_clean();
ob_start();
echo $content;
ob_end_flush();
// 触发 before_exit 钩子,允许插件(如静态缓存)在脚本结束前执行操作
JOSEN 铁杆 4小时前
doAction('before_exit', $content);
exit;
}
虾哥工作室 铁杆 开发者 3小时前
好的,谢谢,我修复下