`
xuebingnanmm
  • 浏览: 174426 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP文件缓存类

    博客分类:
  • PHP
阅读更多

<?php
/* 
 
*/ 
$fzz = new fzz_cache;
$fzz->kk = $_SERVER; //写入缓存
//$fzz->set("kk",$_SERVER,10000); //此方法不与类属性想冲突,可以用任意缓存名;
print_r($fzz->kk);  //读取缓存
//print_r($fzz->get("kk"));
//unset($fzz->kk); //删除缓存
//$fzz->_unset("kk");
var_dump(isset($fzz->kk)); //判断缓存是否存在
//$fzz->_isset("kk");
//$fzz->clear(); //清理过期缓存
//$fzz->clear_all(); //清理所有缓存文件
class fzz_cache{
 public $limit_time = 20; //缓存过期时间
 public $cache_dir = "data"; //缓存文件保存目录
 //写入缓存
 function __set($key , $val){
  $this->set($key ,$val);
 }
 //第三个参数为过期时间
 function set($key ,$val,$limit_time=null){
  $limit_time = $limit_time ? $limit_time : $this->limit_time;
  $file = $this->cache_dir."/".$key.".php";
  $val = serialize($val);
  @file_put_contents($file,$val) or $this->error(__line__,"文件写入失败");
  @chmod($file,0777)  or $this->error(__line__,"设定文件权限失败");
  @touch($file,time()+$limit_time) or $this->error(__line__,"更改文件时间失败");
 }
 //读取缓存
 function __get($key){
  return $this->get($key);
 }
 function get($key){
  $file = $this->cache_dir."/".$key.".php";
  if (@filemtime($file)>=time()){
   return unserialize(file_get_contents($file));
  }else{
   @unlink($file) ;
  }
 }
 //删除缓存文件
 function __unset($key){
  return $this->_unset($key);
 }
 function _unset($key){
  if (@unlink($this->cache_dir."/".$key.".php")){
   return true;
  }else{
   return false;
  }
 }
 //检查缓存是否存在,过期则认为不存在
 function __isset($key){
  return $this->_isset($key);
 }
 function _isset($key){
  $file = $this->cache_dir."/".$key.".php";
  if (@filemtime($file)>=time()){
   return true;
  }else{
   @unlink($file) ;
   return false;
  }
 }
 //清除过期缓存文件
 function clear(){
  $files = scandir($this->cache_dir);
  foreach ($files as $val){
   if (filemtime($this->cache_dir."/".$val)cache_dir."/".$val);
   }
  }
 }
 //清除所有缓存文件
 function clear_all(){
  $files = scandir($this->cache_dir);
  foreach ($files as $val){
   @unlink($this->cache_dir."/".$val);
  }
 }
 function error($line,$msg){
  die("出错文件:".__file__."\n出错行:$line\n错误信息:$msg");
 }
}
?>

分享到:
评论

相关推荐

    简单高效的php文件缓存类.zip

    这个“简单高效php文件缓存类”提供了一种便捷的方式,用于存储和检索经常请求的数据到本地文件系统,从而降低服务器负载。下面我们将深入探讨文件缓存的重要性、工作原理以及如何使用这个PHP类库。 文件缓存的核心...

    php中使用文件缓存类.zip

    在使用文件缓存类时,我们还需要考虑一些最佳实践: - **缓存策略**:根据数据的更新频率和访问模式选择合适的缓存策略。例如,对于不常更新但经常访问的数据,文件缓存非常合适。 - **缓存目录结构**:可以按数据...

    PHP文件缓存类.zip

    主要介绍了PHP文件缓存类实现代码,php中缓存分类数据库缓存,文件缓存和内存缓存,检查缓存文件是否在设置更新时间之内,缓存文件或者输出静态, 清除缓存文件,根据当前动态文件生成缓存文件名,缓存文件建立时间...

    php文件页面缓存类.zip

    本篇文章将深入探讨PHP中的文件缓存类,以及如何利用它来实现高效的数据存储和检索。 文件缓存是一种常见的缓存策略,它将数据存储在本地文件系统中,以便后续请求时快速读取。相比于内存缓存(如APC、Memcached或...

    php一个简单的文件缓存类.zip

    这个“php一个简单的文件缓存类”可能是为了实现这一目标而设计的。下面我们将深入探讨文件缓存的基本原理,以及如何利用PHP编写一个简单的文件缓存类。 文件缓存的工作机制主要是将动态生成的内容(如数据库查询...

    php 超好用的文件缓存类

    "php 超好用的文件缓存类" 提供了一种简单而实用的解决方案,它借鉴了memcache的常用接口,如get、set和delete,但其核心是基于文件系统进行数据存储,而非内存中的缓存。这样的设计使得它在某些场景下更易部署和...

    php中使用文件缓存类

    本文将深入探讨如何在PHP中实现文件缓存类,并解释其工作原理及优势。 首先,我们需要理解文件缓存的基本概念。文件缓存是将数据存储到本地文件系统中,以便后续请求可以直接读取这些文件,而无需重新计算或查询...

    ThinkPHP文件缓存类

    ThinkPHP框架提供了内置的缓存机制,其中包括文件缓存类。文件缓存是将数据存储到本地文件系统中,当需要时快速读取,而不是每次都去查询数据库或执行计算。下面我们将深入探讨ThinkPHP文件缓存类的相关知识点。 **...

    ThinkPHP文件缓存类.zip

    文件缓存类还提供了其他一些方法,如`clean`(清空所有缓存)、`has`(检查是否存在指定缓存)、`read`(读取缓存文件但不设置)等,这些方法都是基于文件系统操作的。 6. **缓存策略**: ThinkPHP的文件缓存类在...

    PHP文件缓存类示例分享

    【PHP文件缓存类】 在PHP开发中,为了提高网站的加载速度和减轻数据库的压力,文件缓存是一种常见的策略。本文将通过一个简单的PHP文件缓存类示例,讲解如何实现这一功能。 首先,我们来看这个`Cache`类。这个类...

    从CI中提取的php缓存文件类.zip

    从CI社区的stblog和CI的file_helper类中提取出来的php文件缓存类,一个简单的基于文件的key-&gt;value缓存类。这个类可以用来缓存一些基本信息,比如博客的header,footer,sidebar中的一些不经常变化,从数据库中取出的...

    PHP文件缓存类实现代码

    本文介绍了一个PHP文件缓存类的实现代码。在PHP开发中,缓存是优化应用性能的重要技术手段。缓存可以减少数据库的查询次数,减少网络请求延迟,提高页面加载速度等。在PHP中缓存可以大致分为三类:数据库缓存、文件...

    php文件缓存类用法实例分析

    本文将详细分析一个简单的PHP文件缓存类,展示其定义、功能以及具体使用技巧。 首先,我们定义了一个名为XZCache的类,类中包含了默认的缓存时间和缓存目录属性。该类的构造函数接受两个参数:缓存目录和缓存时间。...

    好用的 PHP 文件缓存封装类

    PHP 高速文件缓存类封装,支持自动过期失效,失效自动清空

    很好用的php缓存文件类.zip

    一个很好用的php缓存文件类,得到本类实例,得到缓存信息,设置一个缓存,清除一条缓存,判断缓存是否存在,通过缓存id得到缓存信息路径,通过id得到缓存信息存储文件名,把数据写入文件。

    php适用于大型网站的缓存类

    给大家推一个不错php文件缓存类文件,从各方面来看本缓存类很合理并且适用于大型网站使用,缓存时间大于0,检测缓存文件的修改时间,在缓存时间内为缓存文件名,超过缓存时间为False,比较文件的建立/修改日期和当前日期...

Global site tag (gtag.js) - Google Analytics