`
joan0106
  • 浏览: 141022 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

php缓存技术

阅读更多

   缓存在实际使用当中应用很广泛,可以减轻对服务器 数据库访问,提高访问速度.

 

   例:

<?php
    /*
     *用户需要事先定义的常量:
     *_CachePath_          模板缓存路径
     *_CacheEnable_        自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制
     *_ReCacheTime_        自动重新缓存间隔时间,单位为秒,未定义或为空,表示关闭自动重新缓存
    */

   class cache {

   var $cachefile;
   var $cachefilevar;

   function cache() {
           //生成当前页的Cache组文件名 $this->cachefilevar 及文件名 $this->cachefile
           //动态页的参数不同对应的Cache文件也不同,但是每一个动态页的所有Cache文件都有相同的文件名,只是扩展名不同
           $s=array(".","/");$r=array("_","");
           $this->cachefilevar=str_replace($s,$r,$_SERVER["SCRIPT_NAME"])."_".$_GET[_ActionVar_];
           $this->cachefile=$this->cachefilevar.".".md5($_SERVER["REQUEST_URI"]);
   }

   //删除当前页/模块的缓存
   function delete() {
           //删除当前页的缓存
           $d = dir(_CachePath_);
           $strlen=strlen($this->cachefilevar);
           //返回当前页的所有Cache文件组
           while (false !== ($entry = $d->read())) {
                       if (substr($entry,0,$strlen)==$this->cachefilevar) {
                               if (!unlink(_CachePath_."/".$entry)) {echo "Cache目录无法写入";exit;}
                       }
               }
   }

   //判断是否已Cache过,以及是否需要Cache
   function check() {
           //如果设置了缓存更新间隔时间 _ReCacheTime_
           if (_ReCacheTime_+0>0)        {
                   //返回当前页Cache的最后更新时间
                   $var=@file(_CachePath_."/".$this->cachefilevar);$var=$var[0];
                   //如果更新时间超出更新间隔时间则删除Cache文件
                   if (time()-$var>_ReCacheTime_) {
                           $this->delete();$ischage=true;
                   }
           }
           //返回当前页的Cache
           $file=_CachePath_."/".$this->cachefile;
           //判断当前页Cache是否存在 且 Cache功能是否开启
           return (file_exists($file) and _CacheEnable_ and !$ischange);
   }

   //读取Cache
   function read() {
           //返回当前页的Cache
           $file=_CachePath_."/".$this->cachefile;
           //读取Cache文件的内容
           if (_CacheEnable_) return readfile($file);
           else return false;
   }

   //生成Cache
   function write($output) {
           //返回当前页的Cache
           $file=_CachePath_."/".$this->cachefile;
           //如果Cache功能开启
           if (_CacheEnable_) {
                   //把输出的内容写入Cache文件
                   $fp=@fopen($file,'w');
                   if (!@fputs($fp,$output)) {echo "模板Cache写入失败";exit;}
                   @fclose($fp);
                   //如果设置了缓存更新间隔时间 _ReCacheTime_
                   if (_ReCacheTime_+0>0) {
                           //更新当前页Cache的最后更新时间
                           $file=_CachePath_."/".$this->cachefilevar;
                           $fp=@fopen($file,'w');
                           if (!@fwrite($fp,time())) {echo "Cache目录无法写入";exit;}
                           @fclose($fp);
                   }
           }
   }

   }
 ?> 
PHP调用代码:

<?php
  define("_CachePath_","./cache/");
  define("_CacheEnable_","./l/");
  define("_CacheTime_","180");
  include("index.php");
  $cache=new cache;
  $cache->cache();
  if($cache-> check()){
     $template=$cache->read();
  }else{
      ob_start();
      ob_implicit_flush(0);
  }

?>

<?php
  include("index.php");
  $cache=new cache;
  $template=ob_get_contents();
  $cache->write($template);
?> 

0
0
分享到:
评论

相关推荐

    php缓存技术总结

    PHP缓存技术是提高PHP应用性能的重要手段。它通过减少服务器的计算量、数据库查询次数以及网络传输数据量,来实现提高响应速度和降低服务器负载的目的。下面将详细解析php缓存技术涉及的关键知识点。 一、全页面...

    详解php缓存技术用于开发网站

    ### 详解PHP缓存技术在网站开发中的应用 在当今高度依赖互联网的时代,网站的响应速度和用户体验成为了吸引用户的关键因素。随着网站流量的增加,数据库的查询压力也随之增大,这不仅影响了网站的性能,还可能导致...

    详解php 缓存技术

    总结,PHP缓存技术是提高网站性能的重要手段,理解并合理运用各种缓存类型和策略,能够有效地提升应用的响应速度和用户体验。在实际开发中,应根据项目需求和资源状况选择合适的缓存方案,并不断优化和调整,以达到...

    PHP缓存技术详解(经典)

    ### PHP缓存技术详解 #### 引言 随着互联网技术的迅速发展,用户对网站响应速度的要求越来越高。作为一款流行的Web开发语言,PHP凭借其强大的功能和灵活性在网站建设中占据了重要地位。然而,在处理大量数据时,...

    文档:PHP缓存技术详解

    ### PHP缓存技术详解 在IT领域,尤其是Web开发中,**PHP缓存技术**扮演着至关重要的角色,尤其在大型网站中,它能够显著提升性能,减轻服务器负担,优化用户体验。本文将深入探讨PHP缓存的核心概念、常用技术及其...

    PHP缓存技术[总结].pdf

    PHP缓存技术是提高网站性能的关键手段,尤其是在处理大量数据和高并发访问时。本文将对几种常见的PHP缓存技术进行详细解释。 1. 数据缓存: 数据缓存主要针对数据库查询结果,目的是减少对数据库的直接访问,降低...

    从原理到场景系统讲解PHP缓存技术系列课程.txt

    从原理到场景系统讲解PHP缓存技术系列课程.txt

    PHP缓存技术:memcache函数详解

    本篇文章将深入探讨PHP中的缓存技术,特别是关于`memcache`函数的使用。 `Memcache`是一种分布式内存对象缓存系统,它能够存储数据到内存中,从而加快数据的读取速度,减轻数据库的压力。在PHP中,`memcache`扩展...

    PHP缓存技术详解 ob_start

    有些信息比方经常不变的,但是还是能变的信息放在缓存中以加快显示速度,这是很有价值的,所谓的缓存,通俗的理解就是一些保存在服务器端的共用信 息.它是于服务器同生死的,我们在保存缓存的时候可以指定下次更新的时间...

    php缓存技术介绍

    PHP缓存技术是提高Web应用程序性能的关键策略之一。缓存技术的基本原理是将频繁访问的数据存储在高速存储中,以减少对慢速存储(如硬盘)的依赖,从而提高响应速度。在PHP开发中,缓存可以应用于多个层面,包括数据...

    PHP缓存技术的使用说明

    在现代的Web开发中,PHP缓存技术扮演着至关重要的角色。使用PHP缓存技术可以显著减少服务器处理请求的负担,提升网站的响应速度和用户体验。缓存技术通过将频繁访问的数据或页面存储在服务器上,减少对数据库的查询...

    PHP常见缓存技术分析(cache)

    然而,随着互联网应用的复杂性和访问量的增加,单纯依赖数据库...对于源码和工具的探索,可以通过阅读`cacherphpclass-2001-10-31`这个文件,了解特定的PHP缓存类库或实现,这将有助于加深对PHP缓存技术的理解和应用。

    《PHP缓存技术实现》.pdf

    PHP开发学习,PHP高级开发知识

    PHP 缓存类和apc缓存类

    根据给定的信息,我们可以深入探讨 PHP 缓存技术以及如何使用抽象类来设计缓存系统。此外,还将探讨 APC 缓存的具体实现。 ### 一、缓存抽象类概述 在给定的代码中,定义了一个名为 `Cache_Abstract` 的抽象类。这...

    PHP缓存与静态化——PHP缓存与静态化

    在构建高性能的Web应用时,PHP缓存与静态化扮演着至关重要的角色。它们能够显著提升网站的响应速度,减少服务器资源的消耗,尤其对于高流量的动态网站来说更是如此。下面将详细探讨这两个概念以及如何在PHP中实现...

    php 缓存例子实践

    它通过存储经常访问或计算结果的数据,避免重复的计算和减少数据库查询,从而显著提升系统效率。... ...其中,文件缓存是最基础的形式,它将数据存储在...理解并熟练掌握PHP缓存技术,对于提升PHP应用的效率具有重大意义。

Global site tag (gtag.js) - Google Analytics