class Redis::PipelinedConnection
Attributes
db[RW]
Public Class Methods
new(pipeline, futures = [])
click to toggle source
# File lib/redis/pipeline.rb, line 9 def initialize(pipeline, futures = []) @pipeline = pipeline @futures = futures end
Public Instance Methods
multi() { |transaction| ... }
click to toggle source
# File lib/redis/pipeline.rb, line 20 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 16 def pipelined yield self end
Private Instance Methods
send_blocking_command(command, timeout, &block)
click to toggle source
# File lib/redis/pipeline.rb, line 48 def send_blocking_command(command, timeout, &block) future = Future.new(command, block) @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 39 def send_command(command, &block) future = Future.new(command, block) @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 35 def synchronize yield self end