我在Redis商店中使用sorted set
类型。
对于每个用户,我创建了一个自己的 KEY 并将数据放在此处:
KEY:
的示例FEED:USER:**1**, FEED:USER:**2**, FEED:USER:**3**
我想从Redis中为用户的密钥选择数据:1,2,3,并按分数(时间戳)排序。
如果只是简单地看待问题,我需要在任何时间点选择任何一个数据,然后结合按分数排序的所有结果。
答案 0 :(得分:2)
有几种方法可以做到这一点,但正确的方法取决于你尝试做什么。例如:
FEED:USER:n
键使用ZRANGEBYSCORE(或ZREVRANGEBYSCORE),并且"合并"客户回复编辑:进一步澄清
重新。 1 - 可以在客户端对从ZRANGEBYSCORE获得的结果进行合并,也可以使用服务器端Lua脚本来完成。使用WITHSCORES获取时间戳并对其进行合并/排序。无论您选择运行此代码的位置(我可能使用Lua进行数据本地化),实现都取决于您 - 如果您需要帮助,请执行以下操作:)