六、smarty-缓存控制前的页面静态化原理
2015-01-15 18:55
253 查看
页面静态化可以实现优化服务,对大流量访问网站非常至关重要
为什么页面静态化,
1、 不去执行数据库连接
2、 不去执行SQL语句
设置按时间更新,
1、 按时间更新,如果缓存文件设置1小时
如下为页面静态化原理实例:
为什么页面静态化,
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; //如果缓存文件存在直接加载缓存文件 }
相关文章推荐
- smarty 缓存控制前的页面静态化原理
- smarty 缓存控制前的页面静态化原理
- PHP Smarty 页面静态化加分页和缓存控制
- 使用smarty模板或缓存实现页面静态化
- expires与etag控制页面缓存的优先级
- smarty 缓存控制
- 用ob_start()控制缓冲,给页面做文件缓存,加速页面
- smarty缓存控制
- php提高访问效率的方法——页面静态化——缓存
- 在动态页面里象静态页面一样控制整个网页的缓存和更新
- smarty缓存控制
- 页面加入_JS,CSS使用,#include添加文件,缓存页面,页面间传递汉字,IsPostBack控制页面的加载,自定义错语页面
- PHP文件缓存技术之页面静态化
- 用ob_start()控制缓冲,给页面做文件缓存,加速页面
- nginx:expires控制页面缓存
- 【转】.NET页面缓存的实现方法和原理
- 控制PHP的输出:缓存并压缩动态页面
- smarty缓存控制
- 在动态页面里象静态页面一样控制整个网页的缓存和更新
- 使用smarty缓存控制