科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件从wordpress-cache插件看web静态HTML生成的策略

从wordpress-cache插件看web静态HTML生成的策略

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

1 第一次访问,检查该文件是否存在,如果没有缓存,从数据库中取出文件放到缓存里面,以后访问,就直接从缓存里面取。每一个静态页面都需要一个辅助的meta文件,例如wp-cache-12345.meta 为什么需要独立的meta?因为返回一个静态html还不够,还有很多信息,例如还需要这个页面的时间,content-type等信息。这些信息又不能存放在html中,所以需要辅助的.meta文件 meta文件中的内容是: $meta_object->uri = $_SERVER['REQUEST_URI']; $meta_object->post = wp_cache_post_id(); $meta_object->dynamic = true; $meta_object->headers = array(); array_push($meta_object->headers, "Last-Modified: $value"); array_push($meta_object->headers, "Content-Type: $value"); 2 如果某篇文章修改了,删除这篇文章的缓存,如果某个blog换主题了,删除整个blog的缓存。以后按照1的逻辑来。 wp-cache-phase1 检查某页面是否存在,如果存在直接去缓存。否则进入wp-cache-phase2,访问动态页面,生成缓存文件其中用到 ob_start('wp_cache_ob_callback'); register_shutdown_function('wp_cache_ob_end'); wp_cache_ob_callback wp_cache_ob_end wp-cache-phase2还有个作用是响应页面的事件,例如publish_post edit_post delete_post publish_phone trackback_post pingback_post comment_post edit_comment wp_set_comment_status delete_comment switch_theme,不管什么事件,本质就是将缓存里面的页清空 采用这种插件形式需要修改的地方 1 cache: 需要有一个include文件,根据URL,统一判断所有的访问 2

作者:纯月 来源:CSDN 2008年3月28日

关键字: html web Wordpress Web开发 软件

1 第一次访问,检查该文件是否存在,如果没有缓存,从数据库中取出文件放到缓存里面,以后访问,就直接从缓存里面取。每一个静态页面都需要一个辅助的meta文件,例如wp-cache-12345.meta

为什么需要独立的meta?因为返回一个静态html还不够,还有很多信息,例如还需要这个页面的时间,content-type等信息。这些信息又不能存放在html中,所以需要辅助的.meta文件

meta文件中的内容是:
$meta_object->uri = $_SERVER['REQUEST_URI'];
$meta_object->post = wp_cache_post_id();
$meta_object->dynamic = true;
$meta_object->headers = array();

array_push($meta_object->headers, "Last-Modified: $value");
array_push($meta_object->headers, "Content-Type: $value");

2 如果某篇文章修改了,删除这篇文章的缓存,如果某个blog换主题了,删除整个blog的缓存。以后按照1的逻辑来。

wp-cache-phase1 检查某页面是否存在,如果存在直接去缓存。否则进入wp-cache-phase2,访问动态页面,生成缓存文件
其中用到
ob_start('wp_cache_ob_callback');
register_shutdown_function('wp_cache_ob_end');
wp_cache_ob_callback wp_cache_ob_end

wp-cache-phase2还有个作用是响应页面的事件,例如publish_post edit_post delete_post publish_phone trackback_post pingback_post comment_post edit_comment wp_set_comment_status delete_comment switch_theme,不管什么事件,本质就是将缓存里面的页清空

采用这种插件形式需要修改的地方
1 cache: 需要有一个include文件,根据URL,统一判断所有的访问
2 事件响应:

由于硬盘文件系统,同一目录下的文件数超过3000个,访问就会比较慢
所以缓存文件在硬盘上的结构:需要增加目录,这样可以提升索引速度,而且删除时候也比较方便
可以按照用户,分类,日期或其他属性建立目录

    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章