Hay un par de formas de hacer esto, pero la correcta depende de lo que estés tratando de hacer. Por ejemplo:
- Puede usar ZRANGEBYSCORE (o ZREVRANGEBYSCORE) en su código para cada
FEED:USER:n
clave y "combinar" las respuestas en el cliente - Puedes hacer ZUNIONSTORE en las claves relevantes y luego hacer ZRANGEBYSCORE en el resultado del cliente.
- Sin embargo, si sus "feeds" son grandes, el flujo del n.° 2 debe invertirse:primero el rango y luego la unión.
- También podría hacer tipos similares de procesamiento completamente del lado del servidor con algunas secuencias de comandos de Lua.
EDITAR:más aclaraciones
Re. 1:la fusión se puede realizar del lado del cliente según los resultados que obtiene de ZRANGEBYSCORE o puede usar secuencias de comandos Lua del lado del servidor para hacerlo. Use WITHSCORES para obtener la marca de tiempo y combinarla/ordenarla. Independientemente de la ubicación que elijas para ejecutar este código (probablemente usaría Lua para la ubicación de los datos), la implementación depende de ti. Lmk si necesitas ayuda con eso :)