Method: MemCache#delete

Defined in:
lib/gems/activesupport-2.2.2/lib/active_support/vendor/memcache-client-1.5.1/memcache.rb

#delete(key, expiry = 0) ⇒ Object

Removes key from the cache in expiry seconds.



377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
# File 'lib/gems/activesupport-2.2.2/lib/active_support/vendor/memcache-client-1.5.1/memcache.rb', line 377

def delete(key, expiry = 0)
  @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 #{cache_key} #{expiry}\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