gets (MemCache)

    # File lib/active_support/vendor/memcache-client-1.7.4/memcache.rb, line 705
      def gets(key, raw = false)
        with_server(key) do |server, cache_key|
          logger.debug { "gets #{key} from #{server.inspect}" } if logger
          result = with_socket_management(server) do |socket|
            socket.write "gets #{cache_key}\r\n"
            keyline = socket.gets # "VALUE <key> <flags> <bytes> <cas token>\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+) (\w+)\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"
            [value, $2]
          end
          result[0] = Marshal.load result[0] unless raw
          result
        end
      rescue TypeError => err
        handle_error nil, err
      end