ThinkPHP文件缓存类代码分享

   ThinkPHP文件缓存类代码分享

        取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧。

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

<?php
/**
* @desc 文件缓存
*/
class Cache{
const C_FILE = '/Runtime/';
private $dir = '';
const EXT = '.tpl';
private $filename = '';
public function __construct($dir = ''){
$this->dir = $dir;
 
}
/**
* @desc 设置文件缓存
* @param string $key 文件名
* @param unkonw $data 缓存数据
* @param int $expire 过期时间
*/
public function set($key,$data,$expire = 0){
$this->filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;
if(file_exists($this->filename)){
$res = $this->get($key);
if(md5($res) == md5(json_encode($data) ) ){
return true;
}
}
if(!is_dir(dirname($this->filename))){
mkdir(dirname($this->filename),0777);
}
 
$source = fopen($this->filename,'w+');
fwrite($source,json_encode($data));
fclose($source);
}
 
/**
* @desc 获取文件
* @param string $key 文件名
*/
public function get($key){
//$filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT;
if(!file_exists($this->filename)){
return '缓存文件已经不存在';
}else{
$res = file_get_contents($this->filename);
}
return $res;
}
/**
* @desc 删除文件
* @param string $key 文件名
*/
public function del($key){
unlink($this->filename);
}
 
}
 
$data = array('name'=>'song','age'=>20,'sex'=>'man','favority'=>array('apple','banana'));
$cache = new Cache();
$cache->set('cache',$data);
//$cache->get('cache');
//$cache->del('cache');

时间: 2025-01-30 12:45:57

ThinkPHP文件缓存类代码分享的相关文章

PHP文件缓存类示例分享_php实例

复制代码 代码如下: <?php     /**      * @desc 文件缓存      */     class Cache{         const C_FILE = '/Runtime/';         private $dir = '';         const EXT = '.tpl';         private $filename = '';         public function __construct($dir = ''){            

常见php数据文件缓存类汇总_php技巧

本文实例汇总了常见php数据文件缓存类.分享给大家供大家参考.具体分析如下: 数据文件缓存的做法我们常用的有php文件缓存与利用memcache来缓存数据,下面面我分别总结了memcache缓存数据与数据文件缓存.感兴趣的朋友可以参考一下. 1.对于一般的变量,把该变量变成php语言的格式,写到文件中,用时只要include这个文件就相当于加载了cache了. 2.对于array型的变量,把array转化为php语言定义array的字符串,写到文件中,用时也只要include就相当于加载了cac

php文件缓存类汇总_php技巧

本文实例讲述了php的文件缓存类.分享给大家供大家参考.具体分析如下: 缓存类是我们开发应用中会常用使用到的功能,下面就来给大家整理几个php文件缓存类了,各个文件缓存类写法不同,但在性能上会有区别,有兴趣测试的朋友可测试一下这些缓存类. 例1 复制代码 代码如下: <?php $fzz = new fzz_cache; $fzz->kk = $_SERVER; //写入缓存 //$fzz->set("kk",$_SERVER,10000); //此方法不与类属性想冲

PHP文件缓存类实现代码_php技巧

php中缓存分类数据库缓存,文件缓存和内存缓存,下面我来给各位同学详细介绍PHP文件缓存类实现代码,有需要了解的朋友可参考.页面缓存类 代码如下 : <?php /*include( "cache.php" ); $cache = new cache(30); $cache->cacheCheck(); echo date("Y-m-d H:i:s"); $cache->caching(); */ class cache { //缓存目录 var

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

  这篇文章主要介绍了php文件缓存类用法,以实例形式较为详细的分析了php文件缓存类的定义.功能及具体使用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了php文件缓存类用法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 4

php文件缓存类实例整理

例1  代码如下 复制代码 <?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-&

一个简单至极的PHP缓存类代码_php技巧

网上关于 PHP 缓存类的资料很多,不过这个类应该是我见过功能满足需求,但又无比简洁的一个.废话不多说,直接看代码吧!使用说明:1.实例化$cache = new Cache(); 2.设置缓存时间和缓存目录$cache = new Cache(60, '/any_other_path/'); 第一个参数是缓存秒数,第二个参数是缓存路径,根据需要配置. 默认情况下,缓存时间是 3600 秒,缓存目录是 cache/3.读取缓存$value = $cache->get('data_key'); 4

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

本文实例讲述了php文件缓存类用法.分享给大家供大家参考.具体如下: <?php /** * 简单的文件缓存类 * */ class XZCache{ // default cache time one hour var $cache_time = 3600; // default cache dir var $cache_dir = './cache'; public function __construct($cache_dir=null, $cache_time=null){ $this-

几个简单的php数据文件缓存类

1.对于一般的变量,把该变量变成php语言的格式,写到文件中,用时只要include这个文件就相当于加载了cache了: 2.对于array型的变量,把array转化为php语言定义array的字符串,写到文件中,用时也只要include就相当于加载了cache了: 3.缓存cache时间上的控制,通过获取缓存文件的创建时间和现在的时间进行对比,如果没有到更新时间,直接读取缓存,如果到了更新时间,查询数据库, 文件缓存类:  代码如下 复制代码 <?php class DataCache {