require 'hash_ring'
class DistRedis
attr_reader :ring
- def initialize(opts={})
- hosts = []
-
- db = opts[:db] || nil
- timeout = opts[:timeout] || nil
-
- raise Error, "No hosts given" unless opts[:hosts]
-
- opts[:hosts].each do |h|
- host, port = h.split(':')
- hosts << Redis.new(:host => host, :port => port, :db => db, :timeout => timeout, :db => db)
+ def initialize(*servers)
+ srvs = []
+ servers.each do |s|
+ server, port = s.split(':')
+ srvs << Redis.new(:host => server, :port => port)
end
-
- @ring = HashRing.new hosts
+ @ring = HashRing.new srvs
end
def node_for_key(key)