Det är en fråga med många möjliga svar. Här är mina två bästa:
-
Använd kraften i Lua för att undvika att flytta data till klienten och få allt arbete gjort på serversidan. Du kan komma runt bristen på RANGESTORE på det här sättet.
-
Upprätthåll en sorterad uppsättning där poängen är gjorda av båda attributen, med hjälp av bit-interfoliering. I Redis-versen finns det ett experiment av antirez som kallas redimension som gör exakt det. Länkarna är https://www.reddit.com/r/redis/comments/3qjlkk/redimension_ruby_library_implementing/ och min port av ovanstående till Redis lua https://www.reddit.com/r/redis/comments/3s0h73/ luaredimension_redis_multidimensional_query/. Du kan läsa mer om tillvägagångssättet på Multidimensional index.