public function __construct($cacher = null) { $this->config = getini('cache'); $this->prefix = $this->config['prefix']; $cacher = $cacher ?: $this->config['cacher']; if (in_array($cacher, array('file', 'memcache', 'redis', 'xcache'))) { $class = '\\Rsf\\Cache\\' . ucfirst($cacher); $this->cacher = $class::getInstance()->init(Context::dsn($cacher . '.cache')); $this->enable = $this->cacher->enable; $this->type = $cacher; } return $this; }
/** * @param string $dsnid * @return null * @throws Exception */ public static function dbm($dsnid = 'portal') { $_dsn = Context::dsn($dsnid); $dsnkey = md5($_dsn['driver'] . '_' . $_dsn['dsn']); //连接池key if (isset(self::$used_dbo[$dsnkey])) { $dbo = self::$used_dbo[$dsnkey]; $dbo->connect($_dsn); } else { $dbo = new Db\Pdox(); $dbo->connect($_dsn); self::$used_dbo[$dsnkey] = $dbo; } return $dbo; }