正文:
网站缓存想必大家都比较熟悉,就比如常见的网站程序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;
}
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容