To je otázka s mnoha možnými odpověďmi. Zde jsou moje dva nejlepší:
-
Využijte sílu Lua, abyste se vyhnuli přesunu dat na klienta a nechte veškerou práci hotovou na straně serveru. Nedostatek RANGESTORE můžete obejít tímto způsobem.
-
Udržujte setříděnou sadu, kde jsou skóre tvořena oběma atributy, pomocí bitového prokládání. V Redis-verse existuje experiment antirezu zvaný redimension, který dělá přesně to. Odkazy jsou https://www.reddit.com/r/redis/comments/3qjlkk/redimension_ruby_library_implementing/ a můj port výše na Redis lua https://www.reddit.com/r/redis/comments/3s0h73/ luaredimension_redis_multidimensional_query/. Více o tomto přístupu si můžete přečíst na stránce Vícerozměrné indexy.