diff --git a/lib/Redis/Client.php b/lib/Redis/Client.php
index a8d8592..58bf96c 100644
--- a/lib/Redis/Client.php
+++ b/lib/Redis/Client.php
@@ -26,6 +26,11 @@ class Redis_Client {
   const REDIS_DEFAULT_BASE = NULL;
 
   /**
+   * Redis default password: will not authenticate.
+   */
+  const REDIS_DEFAULT_PASSWORD = NULL;
+
+  /**
    * Cache implementation namespace.
    */
   const REDIS_IMPL_CACHE = 'Redis_Cache_';
@@ -117,7 +122,8 @@ class Redis_Client {
       self::$_client = self::getClientInterface()->getClient(
         isset($conf['redis_client_host']) ? $conf['redis_client_host'] : self::REDIS_DEFAULT_HOST,
         isset($conf['redis_client_port']) ? $conf['redis_client_port'] : self::REDIS_DEFAULT_PORT,
-        isset($conf['redis_client_base']) ? $conf['redis_client_base'] : self::REDIS_DEFAULT_BASE);
+        isset($conf['redis_client_base']) ? $conf['redis_client_base'] : self::REDIS_DEFAULT_BASE,
+        isset($conf['redis_client_password']) ? $conf['redis_client_password'] : self::REDIS_DEFAULT_PASSWORD);
     }
 
     return self::$_client;
@@ -148,3 +154,4 @@ class Redis_Client {
     return $className;
   }
 }
+
diff --git a/lib/Redis/Client/PhpRedis.php b/lib/Redis/Client/PhpRedis.php
index c561c6c..31e8b30 100644
--- a/lib/Redis/Client/PhpRedis.php
+++ b/lib/Redis/Client/PhpRedis.php
@@ -5,9 +5,13 @@
  */
 class Redis_Client_PhpRedis implements Redis_Client_Interface {
 
-  public function getClient($host = NULL, $port = NULL, $base = NULL) {
+  public function getClient($host = NULL, $port = NULL, $base = NULL, $password = NULL) {
     $client = new Redis;
     $client->connect($host, $port);
+    
+    if (isset($password)) {
+      $client->auth($password);
+    }
 
     if (isset($base)) {
       $client->select($base);
diff --git a/lib/Redis/Client/Predis.php b/lib/Redis/Client/Predis.php
index eefc67a..7d1e15c 100644
--- a/lib/Redis/Client/Predis.php
+++ b/lib/Redis/Client/Predis.php
@@ -48,7 +48,7 @@ class Redis_Client_Predis implements Redis_Client_Interface {
     }
   }
 
-  public function getClient($host = NULL, $port = NULL, $base = NULL) {
+  public function getClient($host = NULL, $port = NULL, $base = NULL, $password = NULL) {
     $connectionInfo = array(
       'host'     => $host,
       'port'     => $port,
@@ -63,7 +63,13 @@ class Redis_Client_Predis implements Redis_Client_Interface {
 
     self::setPredisAutoload();
 
-    return new Predis\Client($connectionInfo);
+    $client = new Predis\Client($connectionInfo);
+
+    if (isset($password)) {
+      $client->auth($password);
+    }
+
+    return $client;
   }
 
   public function getName() {
