Read stream values within an interval.
        name: name of the stream.
        start: first stream ID. defaults to '-',
               meaning the earliest available.
        finish: last stream ID. defaults to '+',
                meaning the latest available.
        count: if set, only return this many items, beginning with the
               earliest available.

def xrange(self, name, min='-', max='+', count=None):
        """
        Read stream values within an interval.
        name: name of the stream.
        start: first stream ID. defaults to '-',
               meaning the earliest available.
        finish: last stream ID. defaults to '+',
                meaning the latest available.
        count: if set, only return this many items, beginning with the
               earliest available.
        """
        pieces = [min, max]
        if count is not None:
            if not isinstance(count, (int, long)) or count < 1:
                raise DataError('XRANGE count must be a positive integer')
            pieces.append(Token.get_token('COUNT'))
            pieces.append(str(count))

        return self.execute_command('XRANGE', name, *pieces)