    # File lib/active_support/vendor/memcache-client-1.6.5/memcache.rb, line 525
      def cache_get(server, cache_key)
        with_socket_management(server) do |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
      end