public function initialize()
	{
		if (class_exists('\Memcached'))
		{
			$this->memcached = new \Memcached();
			if ($this->config['raw'])
			{
				$this->memcached->setOption(\Memcached::OPT_BINARY_PROTOCOL, true);
			}
		}
		elseif (class_exists('\Memcache'))
		{
			$this->memcached = new \Memcache();
		}
		else
		{
			throw new CriticalError('Cache: Not support Memcache(d) extension.');
		}

		if ($this->memcached instanceof \Memcached)
		{
			$this->memcached->addServer(
					$this->config['host'], $this->config['port'], $this->config['weight']
			);
		}
		elseif ($this->memcached instanceof \Memcache)
		{
			// Third parameter is persistence and defaults to TRUE.
			$this->memcached->addServer(
					$this->config['host'], $this->config['port'], true, $this->config['weight']
			);
		}
	}