Det er et spørgsmål med mange mulige svar. Her er mine to bedste:
-
Brug kraften i Lua til at undgå at flytte data til klienten og få alt arbejdet udført på serversiden. Du kan omgå manglen på RANGESTORE på denne måde.
-
Vedligehold et sorteret sæt, hvor scoringerne er lavet af begge attributter, ved hjælp af bit-interleaving. I Redis-verset eksisterer der et eksperiment af antirez kaldet redimension, som gør præcis det. Linkene er https://www.reddit.com/r/redis/comments/3qjlkk/redimension_ruby_library_implementing/ og min port af ovenstående til Redis lua https://www.reddit.com/r/redis/comments/3s0h73/ luaredimension_redis_multidimensional_query/. Du kan læse mere om fremgangsmåden på Multidimensional indekser.