From 320353c237fbee2d9a8f12dd474feb3a0f6ddec6 Mon Sep 17 00:00:00 2001
From: Andreas Fischer <bantu@owncloud.com>
Date: Mon, 9 Dec 2013 01:34:31 +0100
Subject: [PATCH] Add support for multiple memcached servers.

---
 config/config.sample.php           | 10 ++++++++--
 lib/private/memcache/memcached.php |  4 ++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/config/config.sample.php b/config/config.sample.php
index 1070ef72ed..67152accc3 100755
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -114,8 +114,14 @@ $CONFIG = array(
 /* Password to use for sendmail mail, depends on mail_smtpauth if this is used */
 "mail_smtppassword" => "",
 
-/* memcached hostname and port (Only used when xCache, APC and APCu are absent.) */
-"memcached_server" => array('localhost', 11211),
+/* memcached servers (Only used when xCache, APC and APCu are absent.) */
+"memcached_servers" => array(
+	// hostname, port and optional weight. Also see:
+	// http://www.php.net/manual/en/memcached.addservers.php
+	// http://www.php.net/manual/en/memcached.addserver.php
+	array('localhost', 11211),
+	//array('other.host.local', 11211),
+),
 
 /* How long should ownCloud keep deleted files in the trash bin, default value:  30 days */
 'trashbin_retention_obligation' => 30,
diff --git a/lib/private/memcache/memcached.php b/lib/private/memcache/memcached.php
index 978e6c2eff..13b1867231 100644
--- a/lib/private/memcache/memcached.php
+++ b/lib/private/memcache/memcached.php
@@ -18,8 +18,8 @@ class Memcached extends Cache {
 		parent::__construct($prefix);
 		if (is_null(self::$cache)) {
 			self::$cache = new \Memcached();
-			list($host, $port) = \OC_Config::getValue('memcached_server', array('localhost', 11211));
-			self::$cache->addServer($host, $port);
+			$servers = \OC_Config::getValue('memcached_servers', array(array('localhost', 11211)));
+			self::$cache->addServers($servers);
 		}
 	}
 
-- 
GitLab