Het is triviaal om de rang voor een element te krijgen en vervolgens met indexen te werken. Ervan uitgaande dat de enige beschikbare invoer voor uw toepassing de initiële scoregrenzen van 72 en 46 zijn, kunt u dit doen:
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>
De enige extra aanroep is de O(log(N)) ZREVRANK
telefoongesprek. Van daaruit is het een beetje rekenwerk aan de clientzijde om de nieuwe indexen te krijgen voor het bereik waarin u geïnteresseerd bent, en ZREVRANGE
om de gewenste waarden te krijgen.
Ik heb dit getest op Redis 2.6rc5, maar het zou moeten werken op elke versie boven 2.0.