def zrevrange(self, name, start, end,<EOL>withscores=False, score_cast_func=float):
with self.pipe as pipe:<EOL><INDENT>f = Future()<EOL>res = pipe.zrevrange(self.redis_key(name), start, end,<EOL>withscores=withscores,<EOL>score_cast_func=score_cast_func)<EOL>def cb():<EOL><INDENT>if withscores:<EOL><INDENT>f.set([(self.valueparse.decode(v), s) for v, s in<EOL>res.result])<EOL><DEDENT>else:<EOL><INDENT>f.set([self.valueparse.decode(v) for v in res.result])<EOL><DEDENT><DEDENT>pipe.on_execute(cb)<EOL>return f<EOL><DEDENT>
Returns the range of items included between ``start`` and ``stop``
in reverse order (from high to low)

:param name: str     the name of the redis key
:param start:
:param end:
:param withscores:
:param score_cast_func:
:return: