def hrlist(self, name_start, name_end, limit=10):
        """
        Return a list of the top ``limit`` hash's name between ``name_start`` and
        ``name_end`` in descending order

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

        :param string name_start: The lower bound(not included) of hash names to
         be returned, empty string ``''`` means +inf
        :param string name_end: The upper bound(included) of hash names to be
         returned, empty string ``''`` means -inf
        :param int limit: number of elements will be returned.
        :return: a list of hash's name
        :rtype: list
        
        >>> ssdb.hrlist('hash_ ', 'hash_z', 10)
        ['hash_2', 'hash_1']
        >>> ssdb.hrlist('hash_ ', '', 3)
        ['hash_2', 'hash_1']
        >>> ssdb.hrlist('', 'aaa_not_exist', 10)
        []
        """                
        limit = get_positive_integer('limit', limit)
        return self.execute_command('hrlist', name_start, name_end, limit)
Return a list of the top ``limit`` hash's name between ``name_start`` and
        ``name_end`` in descending order

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

        :param string name_start: The lower bound(not included) of hash names to
         be returned, empty string ``''`` means +inf
        :param string name_end: The upper bound(included) of hash names to be
         returned, empty string ``''`` means -inf
        :param int limit: number of elements will be returned.
        :return: a list of hash's name
        :rtype: list
        
        >>> ssdb.hrlist('hash_ ', 'hash_z', 10)
        ['hash_2', 'hash_1']
        >>> ssdb.hrlist('hash_ ', '', 3)
        ['hash_2', 'hash_1']
        >>> ssdb.hrlist('', 'aaa_not_exist', 10)
        []