Existem algumas maneiras de fazer isso, mas a correta depende do que você está tentando fazer. Por exemplo:
- Você pode usar ZRANGEBYSCORE (ou ZREVRANGEBYSCORE) em seu código para cada
FEED:USER:n
key e "mesclar" as respostas no cliente - Você pode fazer um ZUNIONSTORE nas chaves relevantes e depois fazer o ZRANGEBYSCORE no resultado do cliente.
- No entanto, se seus "feeds" forem grandes, o fluxo do número 2 deverá ser revertido - primeiro intervalo e depois união.
- Você também pode fazer tipos semelhantes de processamento inteiramente no lado do servidor com alguns scripts Lua.
EDIT:mais esclarecimentos
Ré. 1 - A mesclagem pode ser feita do lado do cliente nos resultados que você obtém do ZRANGEBYSCORE ou você pode usar scripts Lua do lado do servidor para fazer isso. Use o WITHSCORES para obter o timestamp e mesclar/classificar nele. Independentemente da sua escolha de local para executar este código (eu provavelmente usaria Lua para localidade de dados), a implementação depende de você - lmk se precisar de ajuda com isso :)