博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP使用缓存提高网站性能
阅读量:5129 次
发布时间:2019-06-13

本文共 1097 字,大约阅读时间需要 3 分钟。

    • 很多大型网站,进去的时候看它很复杂的页面,但是加载也没有耗费多长时间,除了其它必要原因以外,我认为静态化也是其中必需考虑的技术之一。她先于用户获取资源或数据库数据进而通过静态化处理,生成静态页面,所有人都访问这一个静态页面,而静态化处理的页面本身的访问速度要较动态页面快很多倍,因此程序性能会有大大的提升。

      静态化在页面上的体现为:访问速度加快,用户体验性明显提升;在后台体现为:访问脱离数据库,减轻了数据库访问压力。

      PHP实现页面静态化的原理:如果静态文件不存在或者当前时间减去文件的最后修改时间大于缓存时间,数据从数据库中读取,然后在将数据生成静态文件,否则直接读取静态文件中的内容。

      详细代码如下:

      1. <?php  
      2.   
      3. $cacheTime = 600;  
      4. $cacheDir = './html';  
      5. if (is_dir($cacheDir)) mkdir($cacheDir);  
      6. $cacheFile = $cacheDir.'/'.(int)$_GET['id'].'.html';  
      7. if (!is_file($cacheFile) || time() - filemtime($cacheFile) > $cacheTime) {  
      8.  $conn = mysql_connect('localhost', 'root', 'root');  
      9.  mysql_select_db('yunps', $conn);  
      10.  mysql_query('SET NAMES gb2312');  
      11.  $sql = 'SELECT * FROM yu_article WHERE id = '.(int)$_GET['id'];  
      12.  $resourse = mysql_query($sql);  
      13.  $result = mysql_fetch_assoc($resourse);  
      14.  //这里只是简要生成输出,复杂点的可以将 ob 函数和 include 结合使用   
      15.  $content = '<html><head><title>'.$result['title'].'</title></head><body>'.$result['content'].'</body></html>';  
      16.  file_put_contents($cacheFile, $content, LOCK_EX);  
      17. else {  
      18.  $content = file_get_contents($cacheFile);  
      19. }  
      20.   
      21. echo $content;  
      22.   
      23. ?>  

转载于:https://www.cnblogs.com/gavinwang/p/4142827.html

你可能感兴趣的文章
ionic2+ 基础
查看>>
MyBaits动态sql语句
查看>>
用户空间与内核空间,进程上下文与中断上下文[总结]
查看>>
JAVA开发环境搭建
查看>>
Visual Studio基于CMake配置opencv1.0.0、opencv2.2
查看>>
SDN第四次作业
查看>>
django迁移数据库错误
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
距离公式汇总以及Python实现
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>