<?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文件缓存类”提供了一种便捷的方式,用于存储和检索经常请求的数据到本地文件系统,从而降低服务器负载。下面我们将深入探讨文件缓存的重要性、工作原理以及如何使用这个PHP类库。 文件缓存的核心...
在使用文件缓存类时,我们还需要考虑一些最佳实践: - **缓存策略**:根据数据的更新频率和访问模式选择合适的缓存策略。例如,对于不常更新但经常访问的数据,文件缓存非常合适。 - **缓存目录结构**:可以按数据...
主要介绍了PHP文件缓存类实现代码,php中缓存分类数据库缓存,文件缓存和内存缓存,检查缓存文件是否在设置更新时间之内,缓存文件或者输出静态, 清除缓存文件,根据当前动态文件生成缓存文件名,缓存文件建立时间...
本篇文章将深入探讨PHP中的文件缓存类,以及如何利用它来实现高效的数据存储和检索。 文件缓存是一种常见的缓存策略,它将数据存储在本地文件系统中,以便后续请求时快速读取。相比于内存缓存(如APC、Memcached或...
这个“php一个简单的文件缓存类”可能是为了实现这一目标而设计的。下面我们将深入探讨文件缓存的基本原理,以及如何利用PHP编写一个简单的文件缓存类。 文件缓存的工作机制主要是将动态生成的内容(如数据库查询...
"php 超好用的文件缓存类" 提供了一种简单而实用的解决方案,它借鉴了memcache的常用接口,如get、set和delete,但其核心是基于文件系统进行数据存储,而非内存中的缓存。这样的设计使得它在某些场景下更易部署和...
本文将深入探讨如何在PHP中实现文件缓存类,并解释其工作原理及优势。 首先,我们需要理解文件缓存的基本概念。文件缓存是将数据存储到本地文件系统中,以便后续请求可以直接读取这些文件,而无需重新计算或查询...
ThinkPHP框架提供了内置的缓存机制,其中包括文件缓存类。文件缓存是将数据存储到本地文件系统中,当需要时快速读取,而不是每次都去查询数据库或执行计算。下面我们将深入探讨ThinkPHP文件缓存类的相关知识点。 **...
文件缓存类还提供了其他一些方法,如`clean`(清空所有缓存)、`has`(检查是否存在指定缓存)、`read`(读取缓存文件但不设置)等,这些方法都是基于文件系统操作的。 6. **缓存策略**: ThinkPHP的文件缓存类在...
【PHP文件缓存类】 在PHP开发中,为了提高网站的加载速度和减轻数据库的压力,文件缓存是一种常见的策略。本文将通过一个简单的PHP文件缓存类示例,讲解如何实现这一功能。 首先,我们来看这个`Cache`类。这个类...
从CI社区的stblog和CI的file_helper类中提取出来的php文件缓存类,一个简单的基于文件的key->value缓存类。这个类可以用来缓存一些基本信息,比如博客的header,footer,sidebar中的一些不经常变化,从数据库中取出的...
本文介绍了一个PHP文件缓存类的实现代码。在PHP开发中,缓存是优化应用性能的重要技术手段。缓存可以减少数据库的查询次数,减少网络请求延迟,提高页面加载速度等。在PHP中缓存可以大致分为三类:数据库缓存、文件...
本文将详细分析一个简单的PHP文件缓存类,展示其定义、功能以及具体使用技巧。 首先,我们定义了一个名为XZCache的类,类中包含了默认的缓存时间和缓存目录属性。该类的构造函数接受两个参数:缓存目录和缓存时间。...
PHP 高速文件缓存类封装,支持自动过期失效,失效自动清空
一个很好用的php缓存文件类,得到本类实例,得到缓存信息,设置一个缓存,清除一条缓存,判断缓存是否存在,通过缓存id得到缓存信息路径,通过id得到缓存信息存储文件名,把数据写入文件。
给大家推一个不错php文件缓存类文件,从各方面来看本缓存类很合理并且适用于大型网站使用,缓存时间大于0,检测缓存文件的修改时间,在缓存时间内为缓存文件名,超过缓存时间为False,比较文件的建立/修改日期和当前日期...