def zrevrangebyscore(self, name, max, min, start=None, num=None,<EOL>withscores=False, score_cast_func=float):
with self.pipe as pipe:<EOL><INDENT>f = Future()<EOL>res = pipe.zrevrangebyscore(self.redis_key(name), max, min,<EOL>start=start, num=num,<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 elements between the scores (min and max).

If ``start`` and ``num`` are specified, then return a slice
of the range.

``withscores`` indicates to return the scores along with the values.
The return type is a list of (value, score) pairs

`score_cast_func`` a callable used to cast the score return value

:param name: str     the name of the redis key
:param max: int
:param min: int
:param start: int
:param num: int
:param withscores: bool
:param score_cast_func:
:return: Future()