Ada beberapa cara untuk melakukan ini tetapi yang benar tergantung pada apa yang Anda coba lakukan. Misalnya:
- Anda dapat menggunakan ZRANGEBYSCORE (atau ZREVRANGEBYSCORE) dalam kode Anda untuk setiap
FEED:USER:n
kunci dan "gabungkan" balasan di klien - Anda dapat melakukan ZUNIONSTORE pada kunci yang relevan dan kemudian melakukan ZRANGEBYSCORE pada hasil dari klien.
- Namun, jika "umpan" Anda besar, alur #2 harus dibalik - rentang pertama dan kemudian gabungan.
- Anda juga dapat melakukan jenis pemrosesan serupa seluruhnya di sisi server dengan beberapa skrip Lua.
EDIT:klarifikasi lebih lanjut
Ulang. 1 - Penggabungan dapat dilakukan sisi klien pada hasil yang Anda dapatkan dari ZRANGEBYSCORE atau Anda dapat menggunakan skrip Lua sisi server untuk melakukannya. Gunakan WITHSCORES untuk mendapatkan stempel waktu dan gabungkan/urutkan di atasnya. Terlepas dari pilihan lokasi Anda untuk menjalankan kode ini (saya mungkin akan menggunakan Lua untuk lokalitas data), implementasinya terserah Anda - lmk jika Anda memerlukan bantuan untuk itu :)