class Redis::PipelinedConnection
Attributes
db[RW]
Public Class Methods
new(pipeline, futures = [], exception: true)
click to toggle source
# File lib/redis/pipeline.rb, line 9 def initialize(pipeline, futures = [], exception: true) @pipeline = pipeline @futures = futures @exception = exception end
Public Instance Methods
multi() { |transaction| ... }
click to toggle source
# File lib/redis/pipeline.rb, line 21 def multi transaction = MultiConnection.new(@pipeline, @futures) send_command([:multi]) size = @futures.size yield transaction multi_future = MultiFuture.new(@futures[size..-1]) @pipeline.call_v([:exec]) do |result| multi_future._set(result) end @futures << multi_future multi_future end
pipelined() { |self| ... }
click to toggle source
# File lib/redis/pipeline.rb, line 17 def pipelined yield self end
Private Instance Methods
send_blocking_command(command, timeout, &block)
click to toggle source
# File lib/redis/pipeline.rb, line 49 def send_blocking_command(command, timeout, &block) future = Future.new(command, block, @exception) @pipeline.blocking_call_v(timeout, command) do |result| future._set(result) end @futures << future future end
send_command(command, &block)
click to toggle source
# File lib/redis/pipeline.rb, line 40 def send_command(command, &block) future = Future.new(command, block, @exception) @pipeline.call_v(command) do |result| future._set(result) end @futures << future future end
synchronize() { |self| ... }
click to toggle source
# File lib/redis/pipeline.rb, line 36 def synchronize yield self end