zoukankan      html  css  js  c++  java
  • php缓存

    php缓存的方法有很多,最简单的缓存方法就是使用框架。

    先说一下smarty的方法:

    首先设置缓存文件位置:

    $filename = "../cache/huancun.html"; //缓存文件存放的位置
    

    设置缓存间隔:

    $time = 10; //缓存有效期10秒
    

    判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在重新缓存:

    if(file_exists($filename) && ((filemtime($filename)+$time)>= time()) )
    {
    	//直接调用缓存
    	include($filename);
    }
    else
    {
    	//重新缓存
    	ob_start(); //开启内存缓存
    	
    	代码部分。。。。。。。
        

         $smarty->display("huancun.html"); 

                  $str = ob_get_contents(); //获取内存中的缓存内容
                  file_put_contents($filename,$str);

    	ob_flush(); //关闭内存缓存
    	
    }
    

     如果要使用分页缓存的话需要修改为:

    <?php
    $p = 1;
    if(!empty($_GET["page"]))
    {
    	$p = $_GET["page"];
    }
    
    $filename = "../cache/huancun{$p}.html"; //缓存文件存放的位置
    
    $time = 10; //缓存有效期10秒
    
    
    
    //判断缓存文件是否存在,如果缓存文件存在直接调用缓存,如果缓存文件不存在重新缓存
    if(file_exists($filename) && ((filemtime($filename)+$time)>= time()) )
    {
    	//直接调用缓存
    	include($filename);
    }
    else
    {
    	//重新缓存
    	ob_start(); //开启内存缓存
    	
    	分页代码。。。。。。。。。
    
    
    	$smarty->display("huancun.html");
    	
    	$str = ob_get_contents(); //获取内存中的缓存内容
    	file_put_contents($filename,$str);
    	
    	ob_flush(); //关闭内存缓存
    	
    }
    

     同理,如果没有使用smarty模板。只要将ob_start()与ob_flush()之间的代码修改为普通php代码即可。

  • 相关阅读:
    Android调用浏览器打开网址遇到的问题
    TexturePacker压缩png的命令
    碎碎念
    推荐几款API文档集合工具
    XCode打包脚本
    Android手机提示“未安装应用程序”
    移动环境下DNS解析失败后的优化方案
    7z压缩与解压命令
    Lua的文件操作
    IOS判断用户的网络类型(2/3/4G、wifi)
  • 原文地址:https://www.cnblogs.com/cyrfr/p/6512018.html
Copyright © 2011-2022 走看看