instance method
get_server_for_key
Ruby on Rails 2.2.3
Since v2.2.3 Last seen in v2.3.18Available in: v2.2.3 v2.3.18
Signature
get_server_for_key(key)
Pick a server to handle the request based on a hash of the key.
Parameters
-
keyreq
Source
# File activesupport/lib/active_support/vendor/memcache-client-1.5.1/memcache.rb, line 540
def get_server_for_key(key)
raise ArgumentError, "illegal character in key #{key.inspect}" if
key =~ /\s/
raise ArgumentError, "key too long #{key.inspect}" if key.length > 250
raise MemCacheError, "No servers available" if @servers.empty?
return @servers.first if @servers.length == 1
hkey = hash_for key
20.times do |try|
server = @buckets[hkey % @buckets.nitems]
return server if server.alive?
hkey += hash_for "#{try}#{key}"
end
raise MemCacheError, "No servers available"
end
Defined in activesupport/lib/active_support/vendor/memcache-client-1.5.1/memcache.rb line 540
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in MemCache