Es gibt ein paar Möglichkeiten, dies zu tun, aber die richtige hängt davon ab, was Sie versuchen zu tun. Zum Beispiel:
- Sie können ZRANGEBYSCORE (oder ZREVRANGEBYSCORE) in Ihrem Code für jeden
FEED:USER:n
verwenden key und die Antworten im Client "zusammenführen" - Sie können einen ZUNIONSTORE mit den relevanten Schlüsseln durchführen und dann den ZRANGEBYSCORE mit dem Ergebnis des Clients.
- Wenn Ihre "Feeds" jedoch groß sind, sollte der Fluss von #2 umgekehrt werden - zuerst Range und dann Union.
- Sie könnten ähnliche Arten der Verarbeitung auch vollständig serverseitig mit etwas Lua-Skripting durchführen.
EDIT:weitere Erläuterungen
Betreff. 1 - Das Zusammenführen kann clientseitig mit den Ergebnissen erfolgen, die Sie von ZRANGEBYSCORE erhalten, oder Sie können serverseitige Lua-Skripte verwenden, um dies zu tun. Verwenden Sie die WITHSCORES, um den Zeitstempel zu erhalten und ihn zusammenzuführen/zu sortieren. Unabhängig von der Wahl des Speicherorts für die Ausführung dieses Codes (ich würde wahrscheinlich Lua für die Datenlokalität verwenden), liegt die Implementierung bei Ihnen - lmk, wenn Sie dabei Hilfe benötigen :)