简单的PHP缓存Class类实例代码分享

简单的PHP缓存Class类实例代码分享 PHP教程 第1张

正文:

网站缓存想必大家都比较熟悉,就比如常见的网站程序WordPress,它就有非常多的缓存插件,那么问题来了,如果我们不想使用这些插件,想自己做一个缓存功能该怎么弄呢?所以就要用到PHP的缓存技术了,今天我就给大家分享一个简单的缓存类,大家可以根据自己不同的应用场景对代码进行适当的修改和调整。

使用教程:

1.首先实例化缓存类,例如:$huancun = new Cache();

2.设置当前缓存的时间和缓存文件存放的位置,例如:$huancun = new Cache(60, ‘/any_other_path/’);

3.读取已经缓存好的文件,例如:$huancunwenjian= $cache->get(‘data_key’);

4.写入相关数据缓存,例如:$huancunwenjian= $cache->put(‘data_key’, ‘data_value’);

完整缓存类代码:

<?php 
class Cache { 
private $cache_path;//path for the cache 
private $cache_expire;//seconds that the cache expires 

public function Cache($exp_time=3600,$path="cache/"){ 
$this->cache_expire=$exp_time; 
$this->cache_path=$path; 
} 

private function wzming($huancunk){ 
return $this->cache_path.md5($huancunk); 
}
public function put($huancunk, $hcd){ 
$values = serialize($hcd); 
$wzming = $this->wzming($huancunk); 
$wenjian = fopen($wzming, 'w'); 
if ($wenjian){//able to create the wenjian 
fwrite($wenjian, $values); 
fclose($wenjian); 
} 
else return false; 
} 
public function get($huancunk){ 
$wzming = $this->wzming($huancunk); 
if (!wenjian_exists($wzming) || !is_readable($wzming)){
return false; 
} 
if ( time() < (wenjianmtime($wzming) + $this->cache_expire) ) {
$wenjian = fopen($wzming, "r");
if ($wenjian){//able to open the wenjian 
$hcd = fread($wenjian, wenjiansize($wzming)); 
fclose($wenjian); 
return unserialize($hcd);
} 
else return false; 
} 
else return false;
} 
} 
?>

本文结束