protected Method

MemCache.cache_get(server, cache_key)

Fetches the raw data for cache_key from server. Returns nil on cache miss.

Source Code

# File active_support/vendor/memcache-client-1.5.0/memcache.rb, line 583
def cache_get(server, cache_key)
  socket = server.socket
  socket.write "get #{cache_key}\r\n"
  keyline = socket.gets # "VALUE <key> <flags> <bytes>\r\n"

  if keyline.nil? then
    server.close
    raise MemCacheError, "lost connection to #{server.host}:#{server.port}"
  end

  raise_on_error_response! keyline
  return nil if keyline == "END\r\n"

  unless keyline =~ /(\d+)\r/ then
    server.close
    raise MemCacheError, "unexpected response #{keyline.inspect}"
  end
  value = socket.read $1.to_i
  socket.read 2 # "\r\n"
  socket.gets   # "END\r\n"
  return value
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.