cache_config = $cache_config; } } return cache_factory::$cache_factory; } /** * 获取缓存操作实例 * @param $cache_name 缓存配置名称 */ public function get_cache($cache_name) { if(!isset($this->cache_list[$cache_name]) || !is_object($this->cache_list[$cache_name])) { $this->cache_list[$cache_name] = $this->load($cache_name); } return $this->cache_list[$cache_name]; } /** * 加载缓存驱动 * @param $cache_name 缓存配置名称 * @return object */ public function load($cache_name) { $object = null; if(isset($this->cache_config[$cache_name]['type'])) { switch($this->cache_config[$cache_name]['type']) { case 'file' : $object = pc_base::load_sys_class('cache_file'); break; case 'memcache' : define('MEMCACHE_HOST', $this->cache_config[$cache_name]['hostname']); define('MEMCACHE_PORT', $this->cache_config[$cache_name]['port']); define('MEMCACHE_TIMEOUT', $this->cache_config[$cache_name]['timeout']); define('MEMCACHE_DEBUG', $this->cache_config[$cache_name]['debug']); $object = pc_base::load_sys_class('cache_memcache'); break; case 'apc' : $object = pc_base::load_sys_class('cache_apc'); break; default : $object = pc_base::load_sys_class('cache_file'); } } else { $object = pc_base::load_sys_class('cache_file'); } return $object; } } ?>