zoukankan      html  css  js  c++  java
  • PHP 静态缓存

      

      今天来说说PHP页面的静态缓存。

      根据个人理解,由于客户端重复的请求某个页面,导致该页面短时间内被重复请求相同的数据,导致给服务端一定的压力,同时用户访问速度也会变慢。此时如果把这个页面缓存起来,客户端请求这个缓存页面速度就很快,都不用查询数据库的。并不是每个页面都适合做缓存,页面要保证短时间内请求次数很大,同时短时间内数据变化不大。我们只要给缓存一个过期时间就可以达到更换数据的目的。

      1. 建立一个目录专门存放缓存文件

      

      2. 在index.php

    <?php
    /**
     * PHP文件缓存示例
     * @Date:   2017-12-07 16:06:17
     * @Last Modified time: 2017-12-07 16:27:26
     */
    
    $file_name = './cache/test.php';    // 缓存文件
    $expire_time = 10;  // 过期时间(秒)
    
    if(!file_exists($file_name) || (filemtime($file_name)+$expire_time)<time()) // 文件修改时间+过期时间 如果小于当前时间,则去请求新的数据
    {
        //缓存页面代码
        ob_start();
        //用来获取页面缓存中的内容
        $content = ob_get_contents();
    
        echo '我是正常的内容,这里可以写页面,请求数据库的信息';
    
        //将获取到的内容存放到缓存文件
        file_put_contents($file_name,$content);
    
        //清掉内存缓存
        ob_end_flush();
    
        echo '我是缓存之外的内容';  //测试是否调用了缓存文件,缓存文件不输出这句话
    
    }
    else
    {
        echo '你现在看到的是缓存文件<br />';
        include($file_name);  //如果存在,调用缓存文件
    }

    10s过后就会请求新的数据了

     以上就是PHP页面静态缓存的全部内容了

    不积跬步,无以至千里
  • 相关阅读:
    Mysql 去重
    深入理解ob_flush和flush的区别
    Yii2 基础模板前后台登录分离
    Yii2 登录报错
    使用 php 内部web服务器
    SQL 分组后,获取每组中的最大值对应的数据
    跨域访问解决方案
    Spring Boot对静态资源的映射规则
    Spring Boot项目的探究
    Spring Boot项目的不同启动方式
  • 原文地址:https://www.cnblogs.com/wu-song/p/7999758.html
Copyright © 2011-2022 走看看