简单的页面缓冲技术

不药而愈踏

不药而愈踏

2016-01-29 13:38

简单的页面缓冲技术,简单的页面缓冲技术

简单的页面缓冲技术  --------------------------------------------------------------------------------     2003-08-15 14:21:55     http://www.phprecord.com   其实说它为技术,也许不能说是真正的技术。这只不过是我自已想出来的页 面处理的方法,当然与别人的想法可能是一致的。不过我还是想给它一个好听的 名字。那么我这里所指的页面缓冲是什么呢?就是指将动态生成的页面保存起来 ,供下一次的使用。这样下一次访问它可能就不需要动态生成了。就象提供了一 个cache 一样。在我的网站上,也许你的网站也是如此,使用了象模板之类的技 术,这样用户所看到的页面就是动态生成的。但是一个页面对于你是这样,对于 别人可能还是这样,即在一段时间内是不会变化的,如果将上次生成的结果直接 返回给下一次访问的用户不是更好吗?减少了生成时间,效率要高一些。我想随 着网站的发展,速度与效率问题还是要考虑的。这里我给出我的实现,希望对大 家有所帮助。只是一个思路,没有具体的实现。 使用条件   是不是所有的网页最好都使用呢?我想不需要,而且也不可能。之所以能缓 冲就是因为下一次访问与上一次访问的内容可能是完全一样的。所以对于经常变 化的页面就不合适了。比如页面上要显示计数信息的就不太合适。还有就是如果 你的动态页面输出时,没有先输出到变量中,而是直接返回给用户,如使用echo ,print ,readfile之类的输出,我个人认为现在还作不到。因为无法将输出结 果得到,保存到文件中去(反正我是想了半天没有想出有什么可以将直将输出的 东西截下来,重定向到文件中去)。那么比较适的动态页面的处理就是:输出结 果应该可以放到一个字符串之中。所以使用条件就是:1.页面基本不会变化 2.动 态页面的处理结果可以存放到字符串中   这样使用模板类来处理动态页面就很好了。通过在模板中设置可替换的变量 ,然后根据实际的值替换相应的模板中的变量,同时可以将结果放到字符串中进 行输出,这种模板类的处理非常适合保存处理后的页面。当然不使用模板类,也 可以通过字符串的处理来生成输出结果也是可行的。至于怎么做就不讨论了。 实现   如前所述,不是一个真正的实现,而是一个实现的思路。   处理流程: 1.根据访问的要求,生成缓冲文件名 2.查看文件名是否存在,如果文件不存在,则生成动态页面,将页面保存,同时 输出结果,结束;如果存在,则执行第3步 3.统计文件的修改时间,及与动态页面生成有关的文件的修改时间 4.比较缓冲文件的修改时间与其它页面的修改时间,如果其它页面修改时间大于 缓冲文件修改时间,认为动态结果可能会发生变化,则重新生成动态页面结果, 保存到文件中,且输出结果,结束;否则执行第5步 5.说明缓冲文件最新,则直接输出缓冲文件   这就是我的处理。至于缓冲文件如何保存,可以建一个临时目录也可以使用 数据库处理。如果使用了数据库则判断文件是否最新的方式也应作变化,比如在 数据库中增加生成时间字段,比较这个时间字段与其它文件的修改时间即可。方 法大家自已想。 我的具体实现的例子   为了帮助大家有个感性认识,这里我给出在我的主页上实现的基于文件处理 的方法。只有主要的处理代码,不完整。 ---------------------------------------------------------------------- ---------- 
<?  1 $tmpfile="../tmp/".basename($REQUEST_URI);  2 $tmpfile=str_replace("?", "_", $tmpfile);
展开更多 50%)
分享

猜你喜欢

简单的页面缓冲技术

PHP
简单的页面缓冲技术

简单的页面缓冲技术(二)

PHP
简单的页面缓冲技术(二)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

简单的页面缓冲技术(一)

PHP
简单的页面缓冲技术(一)

简单的页面缓冲技术(三)

PHP
简单的页面缓冲技术(三)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用双缓冲技术绘制曲线图

编程语言 网络编程
使用双缓冲技术绘制曲线图

JSP技术生成动态web页面

Java JAVA基础
JSP技术生成动态web页面

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《皇牌空战X2 联合攻击 》 妖孽武器介绍

《皇牌空战X2 联合攻击 》 妖孽武器介绍

《皇牌空战X2》 最终BOSS战的打法 战斗吧!

《皇牌空战X2》 最终BOSS战的打法 战斗吧!
下拉加载更多内容 ↓