protected function setServers(array $servers)
{
$this->servers = $servers;
if (!count($this->servers)) {
throw new Exception('No servers were given to Memcache', 1213115903);
}
$this->memcache = extension_loaded('memcached') ? new \MemCached() : new \Memcache();
$defaultPort = ini_get('memcache.default_port') ?: 11211;
foreach ($this->servers as $server) {
$host = $server;
$port = 0;
if (strpos($server, 'tcp://') === 0) {
$port = $defaultPort;
$server = substr($server, 6);
if (strpos($server, ':') !== false) {
list($host, $port) = explode(':', $server, 2);
}
}
$this->memcache->addServer($host, $port);
}
}