module Redisable::Connection
Public Class Methods
conn(server)
click to toggle source
# File lib/redisable/connection.rb, line 5 def self.conn(server) @pool ||= {} @pool[server] ||= begin conf = Redisable::Config.conf(server) redis = nil if conf.is_a?(Array) redis = ::Redis::Distributed.new(conf) redis.nodes.each do |node| raise "Redis server[#{node.id}] is down!" unless reachable?(node) end else redis = ::Redis.new(conf) raise "Redis server[#{redis.id}] is down!" unless reachable?(redis) end redis end end
quit(server)
click to toggle source
# File lib/redisable/connection.rb, line 24 def self.quit(server) redis = @pool[server] redis.quit if redis && reachable?(redis) @pool[server] = nil end
reset(server)
click to toggle source
# File lib/redisable/connection.rb, line 30 def self.reset(server) quit(server) conn(server) end
Private Class Methods
reachable?(redis)
click to toggle source
# File lib/redisable/connection.rb, line 36 def self.reachable?(redis) redis.ping == "PONG" end