instance method
flush_all
Ruby on Rails 2.3.18
Since v2.2.3 Last seen in v2.3.18Available in: v2.2.3 v2.3.18
Signature
flush_all(delay=0)
Flush the cache from all memcache servers. A non-zero value for delay will ensure that the flush is propogated slowly through your memcached server farm. The Nth server will be flushed N*delay seconds from now, asynchronously so this method returns quickly. This prevents a huge database spike due to a total flush all at once.
Parameters
-
delayopt = 0
Source
# File activesupport/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb, line 497
def flush_all(delay=0)
raise MemCacheError, 'No active servers' unless active?
raise MemCacheError, "Update of readonly cache" if @readonly
begin
delay_time = 0
@servers.each do |server|
with_socket_management(server) do |socket|
logger.debug { "flush_all #{delay_time} on #{server}" } if logger
if delay == 0 # older versions of memcached will fail silently otherwise
socket.write "flush_all#{noreply}\r\n"
else
socket.write "flush_all #{delay_time}#{noreply}\r\n"
end
break nil if @no_reply
result = socket.gets
raise_on_error_response! result
result
end
delay_time += delay
end
rescue IndexError => err
handle_error nil, err
end
end
Defined in activesupport/lib/active_support/vendor/memcache-client-1.7.4/memcache.rb line 497
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in MemCache