页面静态化可以实现优化服务,对大流量访问网站非常至关重要

为什么页面静态化,

1、  不去执行数据库连接

2、  不去执行SQL语句

设置按时间更新,

1、  按时间更新,如果缓存文件设置1小时

如下为页面静态化原理实例:

//内容分页显示实例
<?php $cachefile = "demo_".$get["page"].".html"; //定义的缓存文件用于存放静态页面, $get["page"]表示将每一分页都缓存
$cachetime=20; //设置更新时间,单位是秒 if(!file_exists($cachefile) || filemtime($cachefile)+$cachetime<time()) //如果缓存文件不存在(或时间过期)则执行数据库查询输出 //开启缓存,将输出内容存入内存
ob_start(); //链接数据库
try{
$PDO = new PDO('mysql:host=localhost;dbname=access_control', 'root', 'password');
}catch(PDOException $e){
echo $e->getMessage();
exit;
} //查询语句
$sql = "select * from access_user";
$stnt = $PDO->prepare($sql); $stnt->execute(); //组合成html输出
echo '<table border="1" width="400" align="align">';
echo '<caption><h1>USER</h1></caption>';
while(list($id,$name,$age,$email) = $stnt->fetch(PDO::FETCH_NUM))
{
echo '<tr>';
echo '<td>'.$id.'</td>';
echo '<td>'.$name.'</td>';
echo '<td>'.$age.'</td>';
echo '<td>'.$email.'</td>';
echo '</tr>';
}
echo '</table>'; //将所有在内存中缓存的内容保存到变量$html中
$html = ob_get_content();
file_put_contents($cachefile,$html); //输出到缓存静态页面中 //输出所有内存中的内容到客户端;
ob_flush(); }else{
include $cachefile; //如果缓存文件存在直接加载缓存文件
}

最新文章

  1. 多Form界面控件状态变化问题分析
  2. 【小白的CFD之旅】08 CFD速成之道
  3. 安装Apache(httpd服务)
  4. CyclicBarrier的介绍和使用
  5. Spark MLBase分布式机器学习系统入门:以MLlib实现Kmeans聚类算法
  6. 实战:推断mysql中当前用户的连接数-分组筛选
  7. iOS使用ffmpeg播放rstp实时监控视频数据流
  8. MyEclipse10的正确破解方法
  9. 团队作业4——第一次项目冲刺(Alpha版本)4.22
  10. LeetCode 531. Longly Pixel I (孤独的像素之一) $
  11. SAP成都研究院35岁以上的开发人员都去哪儿了?
  12. mysql授权报错
  13. Spring 环境与profile(三)——利用maven的resources、filter和profile实现不同环境使用不同配置文件
  14. thinkphp零碎小知识
  15. word break II(单词切分)
  16. Alpha 冲刺 (7/10)
  17. 122、详解Glide图片加载库常用方法
  18. 8 python time$datetime
  19. (转)MyEclipse快捷键大全
  20. CSUOJ 1808 地铁

热门文章

  1. bzoj 3837 pa2013 Filary
  2. bzoj 4237 稻 草 人
  3. kinit: Bad encryption type while getting initial credentials
  4. Zookeeper VS Chubby
  5. Linux下安装配置启动RabbitMQ
  6. Spark写入HBase(Bulk方式)
  7. Linux查看系统开机和关机时间
  8. linux内核驱动module_init解析(1)
  9. python 教程之Django(二)
  10. idea集成Jrebel热部署Jrebel 永久免费激活