def perform(*all_args)
      return yield if block_given?

      op, key, *args = all_args

      key = key.to_s
      key = @key_manager.validate_key(key)

      server = ring.server_for_key(key)
      server.request(op, key, *args)
    rescue NetworkError => e
      Dalli.logger.debug { e.inspect }
      Dalli.logger.debug { 'retrying request with new server' }
      retry
    end
#
Chokepoint method for memcached methods with a key argument.
Validates the key, resolves the key to the appropriate server
instance, and invokes the memcached method on the appropriate
server.

This method also forces retries on network errors - when
a particular memcached instance becomes unreachable, or the
operational times out.
#