def qrlist(self, name_start, name_end, limit):
        """
        Return a list of the top ``limit`` keys between ``name_start`` and
        ``name_end``  in descending order

        .. note:: The range is (``name_start``, ``name_end``]. ``name_start``
           isn't in the range, but ``name_end`` is.

        :param string name_start: The lower bound(not included) of keys to be
         returned, empty string ``''`` means +inf
        :param string name_end: The upper bound(included) of keys to be
         returned, empty string ``''`` means -inf
        :param int limit: number of elements will be returned.
        :return: a list of keys
        :rtype: list

        >>> ssdb.qrlist('queue_2', 'queue_1', 10)
        ['queue_1']
        >>> ssdb.qrlist('queue_z', 'queue_', 10)
        ['queue_2', 'queue_1']
        >>> ssdb.qrlist('z', '', 10)
        ['queue_2', 'queue_1']
        """
        limit = get_positive_integer("limit", limit)
        return self.execute_command('qrlist', name_start, name_end, limit)