一个强大的PHP缓存类(5)
if (is_array($this->cache_params)){
$this->cache_type = 'memcache';
$this->cache_external = new Memcache;
foreach ($this->cache_params as $server) {
$server['port'] = isset($server['port']) ? (int) $server['port'] : ini_get('memcache.default_port');
$server['persistent'] = isset($server['persistent']) ? (bool) $server['persistent'] : true;
$this->cache_external->addServer($server['host'], $server['port'], $server['persistent']);
}
}
else $this->cacheError('memcache needs an array, example:
wrapperCache::GetInstance(\'memcache\',30,array(array(\'host\'=>\'localhost\')));');
}
private function init_filecache(){//get instance of the filecache class
$this->cache_type = 'filecache';
$this->cache_external = fileCache::GetInstance($this->cache_expire,$this->cache_params);
}
public function getAvailableCache($return_format='html'){//returns the available cache
$avCaches = array();
$avCaches[] = array('eaccelerator',function_exists('eaccelerator_get'));
$avCaches[] = array('apc',function_exists('apc_fetch')) ;
$avCaches[] = array('xcache',function_exists('xcache_get'));
$avCaches[] = array('memcache',class_exists('Memcache'));
$avCaches[] = array('fileCache',class_exists('fileCache'));
if ($return_format=='html'){
$ret='<ul>';
foreach ($avCaches as $c){
$ret.='<li>'.$c[0].' - ';
if ($c[1]) $ret.='Found/Compatible';
else $ret.='Not Found/Incompatible';
$ret.='</ll>';
}
return $ret.'</ul>';
}
else return $avCaches;
}
private function cacheError($msg){//triggers error
trigger_error('<br /><b>wrapperCache error</b>: '.$msg.
'<br />If you want you can try with \'auto\' for auto select a compatible cache.
顶(0)
踩(0)
- 最新评论
