Това е въпрос с много възможни отговори. Ето моите топ две:
-
Използвайте силата на Lua, за да избегнете преместване на данни към клиента и да извършите цялата работа от страна на сървъра. Можете да заобиколите липсата на RANGESTORE по този начин.
-
Поддържайте сортиран набор, където резултатите са направени от двата атрибута, като се използва битово преплитане. В Redis-verse съществува експеримент от antirez, наречен redimension, който прави точно това. Връзките са https://www.reddit.com/r/redis/comments/3qjlkk/redimension_ruby_library_implementing/ и моето портиране на горното към Redis lua https://www.reddit.com/r/redis/comments/3s0h73/ luaredimension_redis_multidimensional_query/. Можете да прочетете повече за подхода в Многоизмерни индекси.