Здесь важно то, что ZRANK возвращает нулевой индекс члена, а не его счет вообще.Таким образом, «оценки, упорядоченные от низкой к высокой» или «оценки, упорядоченные от высокой к низкой», служат просто для указания того, в каком «направлении» читается отсортированный набор.
Учтите это:
redis> zadd foo 0 a
(integer) 1
redis> zadd foo 1 b
(integer) 1
redis> zadd foo 2 c
(integer) 1
redis> zrank foo c
(integer) 2
redis> zrevrank foo c
(integer) 0
Обратите внимание, что ранг c равен 2 при чтении из "оценки от низкого до высокого", но реванкс равен 0 при чтении из "оценки от высокого до низкого"