简单的PHP缓存Class类实例代码分享
正文:
网站缓存想必大家都比较熟悉,就比如常见的网站程序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; } } ?>
本文结束