PHP文件缓存技术之页面静态化
来源:互联网 发布:c语言预处理程序停止 编辑:程序博客网 时间:2024/05/16 07:38
很多大型网站,进去的时候看它很复杂的页面,但是加载也没有耗费多长时间,除了其它必要原因以外,我认为静态化也是其中必需考虑的技术之一。她先于用户获取资源或数据库数据进而通过静态化处理,生成静态页面,所有人都访问这一个静态页面,而静态化处理的页面本身的访问速度要较动态页面快很多倍,因此程序性能会有大大的提升。
静态化在页面上的体现为:访问速度加快,用户体验性明显提升;在后台体现为:访问脱离数据库,减轻了数据库访问压力。
PHP实现页面静态化的原理:如果静态文件不存在或者当前时间减去文件的最后修改时间大于缓存时间,数据从数据库中读取,然后在将数据生成静态文件,否则直接读取静态文件中的内容。
详细代码如下:
<?php$cacheTime = 600;$cacheDir = './html';if (is_dir($cacheDir)) mkdir($cacheDir);$cacheFile = $cacheDir.'/'.(int)$_GET['id'].'.html';if (!is_file($cacheFile) || time() - filemtime($cacheFile) > $cacheTime) {$conn = mysql_connect('localhost', 'root', 'root');mysql_select_db('yunps', $conn);mysql_query('SET NAMES gb2312');$sql = 'SELECT * FROM yu_article WHERE id = '.(int)$_GET['id'];$resourse = mysql_query($sql);$result = mysql_fetch_assoc($resourse);//这里只是简要生成输出,复杂点的可以将 ob 函数和 include 结合使用 $content = '<html><head><title>'.$result['title'].'</title></head><body>'.$result['content'].'</body></html>';file_put_contents($cacheFile, $content, LOCK_EX);} else {$content = file_get_contents($cacheFile);}echo $content;?>
注意:如果想实时输出点击数之类可以参考http://www.yuphp.com/Article/index/id/36.html,如果想将连接地址也替换成静态的话就需要用到伪静态以及正则替换 URL 地址
- PHP文件缓存技术之页面静态化
- php缓存技术之静态缓存
- php缓存技术之静态缓存
- PHP页面静态化技术
- PHP页面静态化技术
- PHP页面静态化学习笔记之三:使用PHP缓存机制完成静态化
- php生成静态html页面缓存技术原理+实例
- php生成html静态页面缓存技术原理【附实例】
- php-ob缓存实现页面静态化
- php页面静态化 获取页面缓存生成HTML页面
- php缓存—静态页面
- php页面静态化----伪静态化ob缓存使用
- php页面静态化之真静态
- PHP页面静态化技术(备忘)
- PHP页面静态化技术(备忘)
- PHP常见缓存技术分析 php缓存机制 数据缓存 页面缓存 内存缓存 时间触发缓存 内容触发缓存 静态缓存
- 页面静态化之ob缓存
- PHP静态化技术之真静态
- Android之Cursor的用法
- Eclipse中将项目导出jar包,以及转化成exe文件
- android json解析
- MLO
- c语言access函数
- PHP文件缓存技术之页面静态化
- 我们是如此给力csdn,希望csdn继密码泄露事件以后,继续给力下去
- 读取Rockey4
- mysql重置root密码
- ubuntu 终端代理设置
- 四极管:Windows JNI 实例
- 基于多标签学习的图像语义自动标注
- flex中textinput限制输入长度与某些字符 .
- java IO流之三 使用缓冲流来读写文件