Browse Source

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

Daniele Alessandri 13 năm trước cách đây
mục cha
commit
559c5097cd
1 tập tin đã thay đổi với 8 bổ sung6 xóa
  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();
         }