zoukankan      html  css  js  c++  java
  • 缓存

    后台页面:

    <?php
    //缓存:不读数据库,直接显示一个静态页面。优点访问速度快,缺点不能及时的更新显示,用在对数据库操作对于用户浏览体验不影响的地方,缓存文件在cache文件夹里面(把缓存好的静态页面直接显示出来)
    
    //1.定义一个该页面的缓存文件路径
    $filename = "../cache/testhuancun.html";
    
    //2.设置缓存时间
    $time=5;
    
    //3.判断这个缓存文件是否存在,存在读取缓存文件,不存在走查询数据库代码
    if(!file_exists($filename) || filemtime($filename)+$time<time())//缓存文件不存在或者修改时间+5秒小于当前时间的时候走if,设置5秒的缓存间隔时间
    {
        //开启内存缓存
        ob_start();
        include("../init.inc.php");
        include("../DBDA.php");
        $db = new DBDA();
        
        $sql = "select * from nation";
        $attr = $db->Query($sql);
        
        $smarty->assign("nation",$attr);
        $smarty->display("test.html");
        
        //把内存里面的内容读出来
        $nr = ob_get_contents();
        
        //将读到的内容存放到缓存文件
        file_put_contents($filename,$nr);
        
        //清除内存缓存
        ob_flush();
        
        echo "##############################";    //如果显示echo输出的内容,说明5秒缓存时间已过期,用户再浏览网页,走数据库,如果不显示的话说明缓存还没到期,走else,直接调取静态页面显示
    }
    else
    {
        include($filename);
    }

    静态页面:

    <body>
    <table width="100%" border="1">
        <tr><td>代号</td><td>名称</td></tr>
        <{foreach $nation as $v}>
            <tr>
                <td><{$v[0]}></td>
                <td><{$v[1]}></td>
            </tr>
        <{/foreach}>
    </table>
    </body>
  • 相关阅读:
    do while 后面要加分号,你大爷的
    ATS push cache 测试
    ATS (apache traffic server) http_ui 设置与使用
    chrome 开发者工具使用一例
    beautiful soup 遇到class标签的值中含有空格的处理
    virtualbox sharefolder mount fail
    从wait角度调优
    Service Broker入门
    数据库建立初步
    只读账号设置-db_datareader
  • 原文地址:https://www.cnblogs.com/cuizhenyu/p/6193879.html
Copyright © 2011-2022 走看看