浏览代码

Add the ability to get a connection out of a cluster using a key.

Daniele Alessandri 14 年之前
父节点
当前提交
880d2d24b9
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      lib/Predis/Network/ConnectionCluster.php

+ 7 - 0
lib/Predis/Network/ConnectionCluster.php

@@ -2,6 +2,7 @@
 
 namespace Predis\Network;
 
+use Predis\Helpers;
 use Predis\ClientException;
 use Predis\Commands\ICommand;
 use Predis\Distribution\IDistributionStrategy;
@@ -61,6 +62,12 @@ class ConnectionCluster implements IConnectionCluster, \IteratorAggregate {
         return isset($this->_pool[$alias]) ? $this->_pool[$alias] : null;
     }
 
+    public function getConnectionByKey($key) {
+        $hashablePart = Helpers::getKeyHashablePart($key);
+        $keyHash = $this->_distributor->generateKey($hashablePart);
+        return $this->_distributor->get($keyHash);
+    }
+
     public function getIterator() {
         return new \ArrayIterator($this->_pool);
     }