From 8ebf9de3f840f28f7c765cdf834369a46bcf8bea Mon Sep 17 00:00:00 2001
From: Michael Telatynski <7t3chguy@gmail.com>
Date: Tue, 14 Apr 2015 20:40:31 +0100
Subject: [PATCH] Memcache\Redis Add DB Select Functionality

---
 config/config.sample.php       | 5 +++--
 lib/private/memcache/redis.php | 5 +++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/config/config.sample.php b/config/config.sample.php
index e3b81f69f6b..61ae59542d4 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -420,7 +420,7 @@ $CONFIG = array(
  */
 
 /**
- * Checks an app before install whether it uses private APIs instead of the 
+ * Checks an app before install whether it uses private APIs instead of the
  * proper public APIs. If this is set to true it will only allow to install or
  * enable apps that pass this check.
  */
@@ -831,7 +831,8 @@ $CONFIG = array(
 'redis' => array(
 	'host' => 'localhost', // can also be a unix domain socket: '/tmp/redis.sock'
 	'port' => 6379,
-	'timeout' => 0.0
+	'timeout' => 0.0,
+	'dbindex' => 0, // Optional, if undefined SELECT will not run and will use Redis Server's default DB Index.
 ),
 
 /**
diff --git a/lib/private/memcache/redis.php b/lib/private/memcache/redis.php
index 62186d3c4ec..e7425726b2b 100644
--- a/lib/private/memcache/redis.php
+++ b/lib/private/memcache/redis.php
@@ -51,7 +51,12 @@ class Redis extends Cache {
 			} else {
 				$timeout = 0.0; // unlimited
 			}
+
 			self::$cache->connect( $host, $port, $timeout );
+
+			if (isset($config['dbindex'])) {
+				self::$cache->select( $config['dbindex'] );
+			}
 		}
 	}
 
-- 
GitLab