Existuje několik způsobů, jak to udělat, ale ten správný závisí na tom, co se snažíte udělat. Například:
- ZRANGEBYSCORE (nebo ZREVRANGEBYSCORE) můžete použít ve svém kódu pro každý
FEED:USER:n
klíč a "sloučit" odpovědi v klientovi - Můžete provést ZUNIONSTORE na příslušných klíčích a poté provést ZRANGEBYSCORE na výsledku z klienta.
- Pokud jsou však vaše „informační kanály“ velké, měl by být tok č. 2 obrácený – nejprve rozsah a poté spojení.
- Podobné typy zpracování můžete také provádět zcela na straně serveru pomocí skriptování Lua.
UPRAVIT:další vysvětlení
Re. 1 - Sloučení lze provést na straně klienta na výsledcích, které získáte ze ZRANGEBYSCORE, nebo k tomu můžete použít skripty Lua na straně serveru. Použijte WITHSCORES k získání časového razítka a sloučení/třídění. Bez ohledu na vaši volbu umístění pro spuštění tohoto kódu (pravděpodobně bych použil Lua pro datovou lokalitu), implementace je na vás - lmk, pokud s tím potřebujete pomoc :)