程序开发 > PHP > 正文

定时生成静态首页的3种方法及效率

亮术网 2013-04-08 本网原创

  静态网页不但能提高打开速度,而且能减小服务器的压力。尤其是首页访问量大,更有必要生成静态页,但由于内容不断更新,静态页不能随之更新,这就需要定时重新生成,以及时呈现最新的内容给用户。

  定时生成静态首页的方法通常有好几种,该选用什么方法,下面分别看一看。

 

  1、通过用户请求触发生成

  当用户访问主页时,判断是否到了重新生成的时间;如果到了,则重新生成;如果没到,则不重新生成。比如,事先约定每隔5分钟重新生成一次首页,当用户每次访问主页时,都判断离上次生成时间是否达到了5分钟;达到,则重新生成,否则不生成。可能有人会说,主页是静态页,怎么判断是否达到5分钟。

  判断方法通常有两种:

  1)通过 Ajax 无刷新实现;2)在 global 中实现,当用户请求时,判断是不是访问主页,是则可以判断生成时间。

  还有一个重要的问题:

  如果到了重新生成主页的时间,是生成新的主页之后再把新的内容呈现给用户,还是先把旧的内容呈现给用户?从响应速度(效率)方面考虑,自然先把旧的呈现给用户,以免让用户等太久,待生成好后再把新的内容呈现。如果要这样,得用消息来实现,当用户访问主页时,发一个消息给生成主页静态页的程序,由它负责生成,同时把旧主页呈现给用户。如果不用消息,可能要等生成静态页的程序执行完后,才能把主页呈现给用户,时间就偏长。

 

  2、通过系统计划任务定时生成

  如果有控制操作系统的权限,可能创建一个定时执行生成首页静态页程序的计划任务,每当到任务执行时间就会自动执行生成静态页。这样也可以提高网站的效率。

 

  3、创建网站定时器

  在全局变量中,专门为生成静态页程序创建一个定时器,也会按时生成静态首页。但这种方法会消耗过多的系统资源,从而影响网站系统的效率,所以不建议使用。

  以上三种方法,第一、二种是不错的方法;如果没有操作系统的权限,用第一种方法加消息实现,不失为最佳的选择;如果没有操作的权限,用第二方法,简单高效,也不是不错的选择。  

本文浓缩标签:定时生成静态首页效率