def zrevrangebylex(self, name, max, min, start=None, num=None):
        with self.pipe as pipe:
            f = Future()
            res = pipe.zrevrangebylex(self.redis_key(name), max, min,
                                      start=start, num=num)
            def cb():
                f.set([self.valueparse.decode(v) for v in res])
            pipe.on_execute(cb)
            return f