To trywialne, aby uzyskać rangę elementu, a następnie pracować według indeksów. Zakładając, że jedynymi danymi wejściowymi dostępnymi dla Twojej aplikacji są początkowe granice punktacji 72 i 46, możesz to zrobić:
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>
Jedynym dodatkowym wywołaniem jest O(log(N)) ZREVRANK
połączenie. Stamtąd jest trochę matematyki po stronie klienta, aby uzyskać nowe indeksy dla interesującego zakresu i ZREVRANGE
aby uzyskać żądane wartości.
Przetestowałem to na Redis 2.6rc5, ale powinno działać na każdej wersji powyżej 2.0.