Sha256: db0638fa7ed99760807aa98981ec46ec16dcdca342b3dc8fc74c48b7d470bce6
Contents?: true
Size: 987 Bytes
Versions: 11
Compression:
Stored size: 987 Bytes
Contents
module ::ActiveSupport module Cache class MemCacheStore < Store def delete_matched(matcher, options = nil) # :nodoc: super response = @data.delete_match(matcher) response == Response::DELETED rescue MemCache::MemCacheError => e logger.error("MemCacheError (#{e}): #{e.message}") false end end end end class ::MemCache def delete_match(key) @mutex.lock if @multithread raise MemCacheError, "No active servers" unless active? cache_key = make_cache_key key server = get_server_for_key cache_key sock = server.socket raise MemCacheError, "No connection to server" if sock.nil? begin sock.write "delete_match #{cache_key}\r\n" result = sock.gets raise_on_error_response! result result rescue SocketError, SystemCallError, IOError => err server.close raise MemCacheError, err.message end ensure @mutex.unlock if @multithread end end
Version data entries
11 entries across 11 versions & 2 rubygems