* **cache_driver** ([database]|memcache|memcached) - Whether to use Memcache or Memcached to store temporary cache
* **memcache_host** - Host name of the memcache daemon. Default is '127.0.0.1'.
* **memcache_port** - Port number of the memcache daemon. Default is 11211.
-* **memcached_host** - Host name of the memcached daemon. Default is '127.0.0.1'.
-* **memcached_port** - Port number of the memcached daemon. Default is 11211.
+* **memcached_hosts** - Array of Memcached servers info [host, port(, weight)]. Default is [['127.0.0.1', 11211]]
* **no_count** (Boolean) - Don't do count calculations (currently only when showing albums)
* **no_oembed** (Boolean) - Don't use OEmbed to fetch more information about a link.
* **no_smilies** (Boolean) - Don't show smilies.
self::$driver = new Cache\MemcacheCacheDriver($memcache_host, $memcache_port);
break;
case 'memcached':
- $memcached_host = Config::get('system', 'memcached_host', '127.0.0.1');
- $memcached_port = Config::get('system', 'memcached_port', 11211);
+ $memcached_hosts = Config::get('system', 'memcached_hosts', [['127.0.0.1', 11211]]);
- self::$driver = new Cache\MemcachedCacheDriver($memcached_host, $memcached_port);
+ self::$driver = new Cache\MemcachedCacheDriver($memcached_hosts);
break;
default:
self::$driver = new Cache\DatabaseCacheDriver();
*/\r
private $memcached;\r
\r
- public function __construct($memcached_host, $memcached_port)\r
+ public function __construct(array $memcached_hosts)\r
{\r
if (!class_exists('Memcached', false)) {\r
throw new \Exception('Memcached class isn\'t available');\r
\r
$this->memcached = new \Memcached();\r
\r
- if (!$this->memcached->addServer($memcached_host, $memcached_port)) {\r
- throw new \Exception('Expected Memcached server at ' . $memcached_host . ':' . $memcached_port . ' isn\'t available');\r
+ $this->memcached->addServers($memcached_hosts);\r
+\r
+ if (count($this->memcached->getServerList()) == 0) {\r
+ throw new \Exception('Expected Memcached servers aren\'t available, config:' . var_export($memcached_hosts, true));\r
}\r
}\r
\r