`
pujing
  • 浏览: 44040 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从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_postedit_post delete_post publish_phone trackback_post pingback_postcomment_post edit_comment wp_set_comment_status delete_commentswitch_theme,不管什么事件,本质就是将缓存里面的页清空

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

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

相关推荐

    全能主机下安装wp-super-cache插件

    首先,从官方渠道或可信赖的来源下载wp-super-cache插件的最新版本,并将其解压缩至WordPress安装目录中的`wp-content/plugins`文件夹下。这是标准的插件安装流程,确保插件文件位于正确的路径下是后续步骤的基础。 ...

    wp-super-cache.1.4.4

    2. **静态页面生成**:wp-super-cache工作原理是将动态内容转换为静态HTML文件,这些文件可以直接由Web服务器快速发送给用户,而无需经过WordPress的PHP解析过程,从而极大地提高了页面加载速度。 3. **并发处理**...

    wp-fast-cache.1.5

    WP Fast Cache的工作原理是将动态生成的WordPress页面转换为静态HTML文件,这些文件可以直接由Web服务器提供,而无需经过PHP解释器处理。这一过程极大地减少了页面生成时间,尤其是对于那些经常被访问但内容不常变动...

    无需插件wordpress生成静态缓存文件的方法

    在介绍如何使用WordPress生成静态缓存文件而不使用插件之前,我们首先需要了解WordPress缓存插件WP Super Cache的工作原理。WP Super Cache通过Mod_rewrite模式,将网站的动态页面转换为静态HTML文件,这样用户的...

    rewrite文件,iis静态文件配置,php网站静态化文件

    例如,WordPress有WP Super Cache这样的插件,它可以生成静态HTML页面供用户直接访问。静态化文件提高了页面的加载速度,尤其是对于高访问量的网站,可以显著提升用户体验。然而,需要注意的是,静态化可能导致数据...

    人人都能学会的Wordpress实战课

    在当今互联网时代,Wordpress已经成为构建网站和博客的流行内容管理系统(CMS),并为网站运营者提供了庞大的社区支持和插件生态系统。通过本教程,我们可以学习到Wordpress的基础知识、站点优化、主题和插件开发...

    lscache_wp:适用于WordPress的LiteSpeed缓存

    虽然主要针对 LiteSpeed Web Server,但lscache_wp通常也能与大多数主流的WordPress插件和主题协同工作,通过良好的兼容性确保整个网站的正常运行。 10. **持续更新与支持**: 作为一款活跃的开源项目,lscache_...

    基于PHP的WordPress图片主题AlexiaCastillov1.0源码.zip

    6. **性能优化**:为了提高加载速度,主题可能会包含PHP缓存技术,如WP Super Cache或W3 Total Cache插件的集成,它们将动态内容转换为静态HTML页面,减轻服务器负担。 7. **安全考虑**:PHP代码的安全性是至关重要...

    PHP专题——重点函数_静态化_缓存_面向对象_异常处理

    例如,WordPress的WP Super Cache插件就实现了PHP页面的静态化。 【面向对象编程(OOP)】 PHP的面向对象编程允许开发者使用类和对象的概念,封装数据和方法,实现代码复用和模块化。类是具有属性(变量)和方法...

    Que Cache-开源

    从文件名"alex02-quecache-dd81939"来看,这可能是一个特定版本的Que Cache源代码库或者一个包含该版本的打包文件。"dd81939"可能是Git仓库中的一个提交ID,用于追踪和识别代码的具体状态。下载并解压这个文件后,...

    php文件缓存

    例如,WP Super Cache、W3 Total Cache等WordPress插件,它们能将动态生成的页面转换为静态HTML文件,直接返回给用户,无需再经过PHP处理。 4. **自定义缓存策略**:开发者可以根据项目需求编写自己的缓存策略,...

    wp-in-a-box:(LEMP)框中的WordPress(Debian和Ubuntu)!

    6. **下载WordPress**:从官方源下载WordPress,或者使用wget等工具自动下载到服务器。 7. **安装WordPress**:通过命令行交互式安装,输入数据库信息,或者使用预配置的shell脚本来自动化这个过程。 8. **安全考虑*...

Global site tag (gtag.js) - Google Analytics