Има няколко начина да направите това, но правилният зависи от това, което се опитвате да направите. Например:
- Можете да използвате ZRANGEBYSCORE (или ZREVRANGEBYSCORE) във вашия код за всеки
FEED:USER:n
ключ и „сливане“ на отговорите в клиента - Можете да направите ZUNIONSTORE на съответните ключове и след това да направите ZRANGEBYSCORE на резултата от клиента.
- Ако обаче вашите „емисии“ са големи, потокът на номер 2 трябва да бъде обърнат – първо диапазон и след това обединение.
- Можете също да извършвате подобни типове обработка изцяло от страна на сървъра с някои Lua скриптове.
РЕДАКТИРАНЕ:допълнителни разяснения
Re. 1 - Обединяването може да се извърши от страна на клиента на резултатите, които получавате от ZRANGEBYSCORE или можете да използвате Lua скриптове от страна на сървъра, за да направите това. Използвайте WITHSCORES, за да получите клеймото за време и да го слеете/сортирате. Независимо от избора ви на местоположение за изпълнение на този код (вероятно бих използвал Lua за локализиране на данни), внедряването зависи от вас - lmk, ако имате нужда от помощ за това :)