本文整理汇总了PHP中Doctrine\Common\Cache\CacheProvider::setMemcached方法的典型用法代码示例。如果您正苦于以下问题:PHP CacheProvider::setMemcached方法的具体用法?PHP CacheProvider::setMemcached怎么用?PHP CacheProvider::setMemcached使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\Common\Cache\CacheProvider
的用法示例。
在下文中一共展示了CacheProvider::setMemcached方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: decorateWithConnectable
/**
* @param CacheProvider $cacheProvider
*
* @return CacheProvider
*/
protected function decorateWithConnectable(CacheProvider $cacheProvider)
{
$memcached = $this->getMemcachedAdapter();
$settings = $this->config->getSettings();
$memcached->addserver($settings['host'], $settings['port']);
$cacheProvider->setMemcached($memcached);
return $cacheProvider;
}
示例2: buildMemcachedCache
private function buildMemcachedCache()
{
if (null === $this->host) {
throw new HostShouldBeProvidedException();
}
if (null === $this->port) {
$this->port = Memcached::DEFAULT_PORT;
}
$this->server->addserver($this->host, $this->port);
$this->cacheProvider->setMemcached($this->server);
}
示例3: selectDriver
public function selectDriver($config)
{
$cache_engine = $config['cache-engine'];
//redis, apc, memcache, memcached e xcache
switch ($cache_engine) {
case 'redis':
if (!extension_loaded('redis')) {
throw new \Exception("Extensão para {$cache_engine} não encontrada");
}
$redis = new \Redis();
$redis->connect($config['cache-config']['host'], $config['cache-config']['port']);
$this->driver = new RedisCache();
$this->driver->setRedis($redis);
break;
case 'apc':
if (!extension_loaded('apc')) {
throw new \Exception("Extensão para {$cache_engine} não encontrada");
}
$this->driver = new ApcCache();
break;
case 'memcache':
if (!extension_loaded('memcache')) {
throw new \Exception("Extensão para {$cache_engine} não encontrada");
}
$memcache_config = new \Memcache();
$memcache_config->connect($config['cache-config']['host'], $config['cache-config']['port']);
$this->driver = new MemcacheCache();
$this->driver->setMemcache($memcache_config);
break;
case 'memcached':
if (!extension_loaded('memcache')) {
throw new \Exception("Extensão para {$cache_engine} não encontrada");
}
$memcached = new \Memcached();
$memcached->addServer($config['cache-config']['host'], $config['cache-config']['port']);
$this->driver = new MemcachedCache();
$this->driver->setMemcached($memcached);
break;
case 'xcache':
if (!extension_loaded('xcache')) {
throw new Exception("Extensão para {$cache_engine} não encontrada");
}
$this->driver = new XcacheCache();
break;
default:
throw new \Exception('O driver especificado não foi encontado.');
}
}
示例4: getCacheDriver
/**
* Get cache driver instance
*
* @return \Doctrine\Common\Cache\CacheProvider
*/
public function getCacheDriver()
{
if (!is_null($this->cacheDriver)) {
return $this->cacheDriver;
}
if (php_sapi_name() === 'cli') {
return $this->cacheDriver = new \Doctrine\Common\Cache\ArrayCache();
}
try {
switch ($this->systemPreferences->get('DBCacheEngine', 'Array')) {
case 'apc':
$this->cacheDriver = new \Doctrine\Common\Cache\ApcCache();
break;
case 'memcache':
$memcache = new \Memcache();
$memcache->connect($this->systemPreferences->get('DBCacheEngineHost', '127.0.0.1'), $this->systemPreferences->get('DBCacheEnginePort', '11211'));
$this->cacheDriver = new \Doctrine\Common\Cache\MemcacheCache();
$this->cacheDriver->setMemcache($memcache);
break;
case 'memcached':
$memcached = new \Memcached();
$memcached->addServer($this->systemPreferences->get('DBCacheEngineHost', '127.0.0.1'), $this->systemPreferences->get('DBCacheEnginePort', '11211'));
$this->cacheDriver = new \Doctrine\Common\Cache\MemcachedCache();
$this->cacheDriver->setMemcached($memcached);
break;
case 'xcache':
$this->cacheDriver = new \Doctrine\Common\Cache\XcacheCache();
break;
case 'redis':
$redis = new \Redis();
$redis->connect($this->systemPreferences->get('DBCacheEngineHost', '127.0.0.1'), $this->systemPreferences->get('DBCacheEnginePort', '6379'));
$this->cacheDriver = new \Doctrine\Common\Cache\RedisCache();
$this->cacheDriver->setRedis($redis);
break;
default:
$this->cacheDriver = new \Doctrine\Common\Cache\ArrayCache();
break;
}
} catch (\Exception $e) {
$this->cacheDriver = new \Doctrine\Common\Cache\ArrayCache();
}
return $this->cacheDriver;
}