要素のランクを取得してから、インデックスで作業するのは簡単です。アプリケーションで使用できる入力が72と46の初期スコア境界のみであると仮定すると、次のことができます。
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>
追加の呼び出しは、O(log(N))ZREVRANK
のみです。 電話。そこから、関心のある範囲の新しいインデックスとZREVRANGE
を取得するのは、クライアント側の計算です。 必要な値を取得します。
これをRedis2.6rc5でテストしましたが、2.0以降のすべてのバージョンで動作するはずです。