/** * Initializes Memcache cache * * @param array $config * @param Doctrine\Common\Cache\Cache $adapter */ private function initMemcache($config, $adapter) { // Prevent stupid PHP error of missing extension (if other driver is being used) $memcacheClassName = 'Memcache'; $memcache = new $memcacheClassName(); // Default server configuration $defaultServer = array('host' => 'localhost', 'port' => 11211, 'persistent' => true, 'weight' => 1, 'timeout' => 1, 'retryInterval' => 15, 'status' => true); //Override if (isset($config['options']['servers'])) { foreach ($config['options']['servers'] as $server) { $server = array_replace_recursive($defaultServer, $server); $memcache->addServer($server['host'], $server['port'], $server['persistent'], $server['weight'], $server['timeout'], $server['retryInterval'], $server['status']); } } $adapter->setMemcache($memcache); }