PHP本地缓存

/**
	本地缓存
	@param str  设置索引
	@param data 存储数据
	@param timeout  设置过期时间,单位秒(s) 默认-1,永久存储
**/
function setCache($str,$data,$timeout=-1){

	//设置
	$rdata['frcache_time'] = $timeout;
	$rdata['frcache_data'] = $data;
	$str = get_domain().$str;
	$s = md5(md5($str.'frphp'.$str));
	$cache_file_data = Cache_Path.'/data/'.$s.'.php';
	if(!file_exists(Cache_Path.'/data')){
		mkdir (Cache_Path.'/data',0777,true);
	}
	//如果为null,则直接删除缓存
	if(!isset($data)){
		if(file_exists($cache_file_data)){
			unlink($cache_file_data);
		}
		return true;
	}
	
	$res = json_encode($rdata,JSON_UNESCAPED_UNICODE);
	$res = '<?php die();?>'.$res;
	$r = file_put_contents($cache_file_data,$res);
	if($r){
		return true;
	}else{
		Error_msg('数据缓存失败,'.Cache_Path.'/data文件夹的读写权限设置为777!');
	}

	
}

function getCache($str=false){
	if(!$str){
		return false;
	}
	$str = get_domain().$str;
	//获取
	$s = md5(md5($str.'frphp'.$str));
	$cache_file_data = Cache_Path.'/data/'.$s.'.php';
	if(!file_exists($cache_file_data)){
		return false;
	}
	$last_time = filemtime($cache_file_data);//创建文件时间
	$res = file_get_contents($cache_file_data);
	$res = substr($res,14);
	$data = json_decode($res,true);
	
	if(($data['frcache_time']+$last_time)<time() && $data['frcache_time']>=0){
		
		unlink($cache_file_data);
		return false;
	}else{
		
		return $data['frcache_data'];
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值