在Redis中有两个有序集合,第一个的score为文章的点赞数,值为文章id,第二个有序集合score为文章的阅读量,值还是文章id。这两个有序集合里面的文章id都是一样。文章id有一百亿左右。我现在想知道阅读量大于1000但是点赞数小于10的文章有哪些。于是我分别对他们zrangebyscore,把结果拿到本地再取交集。这个过程网络io消耗了太多的时间。如果是Redis 的普通集合,我可以直接取交集,但是我发现有序集合没有直接在Redis取交集的功能,大家有什么好的优化建议吗 我现在遇到的问题是,可能点赞单独满足条件的文章有一亿条,单独满足阅读量的文章也有一亿条,拿回这两亿条信息耗时12秒,最后交集下来可能只有2篇文章。大量时间白白浪费在网络io上,我希望能让Redis先交集完成,然后我直接取结果。降低网络io,我现在时间就是浪费在这个取回本地的过程上,真正交集的时间不到1秒 10和1000是可变的,老板随时会修改组合,1-1000000都可以,每个数字都可以,呈现方式是做了一个网页,老板输入这两个数字来搜索文章,现在搜索一次要12秒以上(我这个实际场景相当于是老板想知道哪些文章可能被刷了阅读量。所以有一个页面,他输入点赞数,阅读数,动态给他筛选文章出来)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。