Return a dict mapping key/score in a range of score from zset ``name``
        between ``offset`` and ``offset+limit`` sorted in descending order.        
        
        .. warning:: This method is SLOW for large offset!
           
        :param string name: the zset name
        :param int offset: zero or positive,the returned pairs will start at
         this offset
        :param int limit: number of elements will be returned
        :return: a dict mapping key/score in ascending order
        :rtype: OrderedDict

        >>> ssdb.zrrange('zset_1', 0, 4)
        {'c': 100, 'e': 64, 'a': 30, 'b': 20}
        >>> ssdb.zrrange('zset_1', 4, 5)
        {'d': 1, 'g': 0, 'f': -3}
        >>> ssdb.zrrange('zset_1', 10, 10)
        {}

def zrrange(self, name, offset, limit):
        """
        Return a dict mapping key/score in a range of score from zset ``name``
        between ``offset`` and ``offset+limit`` sorted in descending order.        
        
        .. warning:: This method is SLOW for large offset!
           
        :param string name: the zset name
        :param int offset: zero or positive,the returned pairs will start at
         this offset
        :param int limit: number of elements will be returned
        :return: a dict mapping key/score in ascending order
        :rtype: OrderedDict

        >>> ssdb.zrrange('zset_1', 0, 4)
        {'c': 100, 'e': 64, 'a': 30, 'b': 20}
        >>> ssdb.zrrange('zset_1', 4, 5)
        {'d': 1, 'g': 0, 'f': -3}
        >>> ssdb.zrrange('zset_1', 10, 10)
        {}        
        """        
        offset = get_nonnegative_integer('offset', offset)        
        limit = get_positive_integer('limit', limit)        
        return self.execute_command('zrrange', name, offset, limit)