瀏覽代碼

Add the ability to discard the commands queued in a pipeline object.

Daniele Alessandri 13 年之前
父節點
當前提交
559c5097cd
共有 1 個文件被更改,包括 8 次插入6 次删除
  1. 8 6
      lib/Predis/Pipeline/PipelineContext.php

+ 8 - 6
lib/Predis/Pipeline/PipelineContext.php

@@ -106,17 +106,19 @@ class PipelineContext
     }
 
     /**
-     * Flushes the queued commands by writing the buffer to Redis and reading
-     * all the replies into the reply buffer.
+     * Flushes the buffer that holds the queued commands.
      *
+     * @param Boolean $send Specifies if the commands in the buffer should be sent to Redis.
      * @return PipelineContext
      */
-    public function flushPipeline()
+    public function flushPipeline($send = true)
     {
         if (count($this->pipeline) > 0) {
-            $connection = $this->client->getConnection();
-            $replies = $this->executor->execute($connection, $this->pipeline);
-            $this->replies = array_merge($this->replies, $replies);
+            if ($send) {
+                $connection = $this->client->getConnection();
+                $replies = $this->executor->execute($connection, $this->pipeline);
+                $this->replies = array_merge($this->replies, $replies);
+            }
             $this->pipeline = array();
         }