Es trivial obtener el rango de un elemento y luego trabajar por índices. Suponiendo que las únicas entradas disponibles para su aplicación son los límites de puntuación inicial de 72 y 46, puede hacer esto:
redis 127.0.0.1:6379> ZREVRANGEBYSCORE mySortedSet 72 (46
1) "G"
2) "F"
3) "E"
redis 127.0.0.1:6379> ZREVRANK mySortedSet G
(integer) 4
redis 127.0.0.1:6379> ZREVRANGE mySortedSet 1 3
1) "J"
2) "I"
3) "H"
redis 127.0.0.1:6379>
La única llamada adicional es O(log(N)) ZREVRANK
llamar. A partir de ahí, es un poco de matemática del lado del cliente para obtener los nuevos índices para el rango que le interesa, y ZREVRANGE
para obtener los valores que desea.
Probé esto en Redis 2.6rc5, pero debería funcionar en cualquier versión superior a la 2.0.