PHP文件缓存类
<?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');
PHP文件缓存类的更多相关文章
- php 文件缓存类
		
//文件缓存类 class FileCache { private $cacheTime = 3600; //默认缓存时间 秒 private $cacheDir = './filecache'; / ...
 - 一个不错的PHP文件页面缓存类
		
在php中缓存分类数据库缓存,文件缓存和内存缓存,下面我来给各位同学详细介绍PHP文件缓存类实现代码,有需要了解的朋友可参考. 页面缓存类 <?php /* * 缓存类 cac ...
 - php 文件缓存
		
http://www.oschina.net/code/snippet_162279_6098 <?php class cache { private static $_instan ...
 - php文件缓存
		
1.最新代码 <?php class cache { private static $_instance = null; protected $_options = array( 'cache_ ...
 - android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决
		
1.相关代码: 加入权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ...
 - C#之文件缓存
		
写在开头 今天就放假了,照理说应该写今年的总结了,但是回头一看,很久没有写过技术类的文字了,还是先不吐槽了. 关于文件缓存 写了很多的代码,常常在写EXE(定时任务)或者写小站点(数据的使用和客户端调 ...
 - php文件缓存方法总结
		
为大家分享很全的php文件缓存,供大家参考,具体内容如下 <?php class cache { private static $_instance = null; protected ...
 - php文件缓存数据
		
最近在做微信的摇一摇跑马活动,实现原理是用户摇动手机,通过ajax往数据库写入数据(小马跑的步数),然后PC端用过ajax每一秒钟从数据库中调取一次数据(小马跑的步数),然后显示在PC屏幕上,这样就会 ...
 - 很实用的php的缓存类文件示例
		
http://www.php.cn/php-weizijiaocheng-376603.html <?php /* * 缓存类 cache */ class cache { //缓存目录 var ...
 
随机推荐
- MySQL 初学笔记 ① -- MySQL用户登录权限控制
			
1. MySQL 登录 MySQL -u username -p 2. MySQL 创建用户 use mysql //进入mysql 表 INSERT INTO user (Host,User,Pas ...
 - hdu 1428 漫步校园
			
http://acm.hdu.edu.cn/showproblem.php?pid=1428 dijstra+dp; #include <cstdio> #include <queu ...
 - 【Xamarin挖墙脚系列:代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧(转)】
			
正愁如何选择构建项目中的视图呢,现在官方推荐画板 Storybord...但是好像 xib貌似更胜一筹.以前的老棒子总喜欢装吊,用代码写....用代码堆一个HTML页面不知道你们尝试过没有.等页面做出 ...
 - java实现xml-rpc客户端和服务端
			
客户端代码: package test_xmlrpc.test; import java.net.URL;import java.util.ArrayList;import java.util.Lis ...
 - Combination Sum II 解答
			
Question Given a collection of candidate numbers (C) and a target number (T), find all unique combin ...
 - Extjs实现进度条
			
做Extjs开发中,往往后台程序可能要执行一段时间才能得到返回结果,加入进度条可以提高客户体验度,以下为两种便捷的方式: 1.提交数据前用Ext.Msg.wait('提示','正在处理数据,请稍候') ...
 - [Ruby学习总结]Ruby中的类
			
1.类名的定义以大写字母开头,单词首字母大写,不用"_"分隔 2.实例化对象的时候调用new方法,实际上调用的是类里边的initialize方法,是ruby类的初始化方法,功能等同 ...
 - Machine Learning - Lecture 16
			
Reinforcement Learning (R.L.) ① MDPs (Markov Decision Processes) ② Value Functions ③ Value Iteration ...
 - Redis 3.0集群 Window搭建方案
			
Redis 3.0集群 Window搭建方案 1.集群安装前准备 安装Ruby环境,安装:rubyinstaller-2.3.0-x64.exe http://dl.bintray.com/onecl ...
 - JS 清除IE缓存
			
js中自动清除ie缓存方法 — 常用 对于动态文件,比如 index.asp?id=... 或者 index.aspx?id=... 相信有经验的程序员都知道怎样禁止浏览器缓存数据了. 但是对于静 ...