class Redic::Cluster
Attributes
debug[RW]
node[R]
url[R]
Public Class Methods
new(url="redis://localhost:12001", timeout=10_000_000)
click to toggle source
# File lib/redic/cluster.rb, line 8 def initialize(url="redis://localhost:12001", timeout=10_000_000) @url = url @node = Redic.new(url, timeout) @debug = false end
Public Instance Methods
call(*args)
click to toggle source
# File lib/redic/cluster.rb, line 14 def call(*args) res = @node.call(*args) return res unless res.is_a?(RuntimeError) parts = res.message.split if parts.first == "MOVED" slot, addr = parts[1,2] $stderr.puts "-> Redirected to slot [#{slot}] located at #{addr}" if @debug @node.call("QUIT") @node = Redic.new("redis://#{addr}", @node.timeout) call(*args) else res end end
Also aliased as: call!
commit()
click to toggle source
# File lib/redic/cluster.rb, line 42 def commit @node.commit end
queue(*args)
click to toggle source
# File lib/redic/cluster.rb, line 38 def queue(*args) @node.queue(*args) end