在Redis中有两个有序集合,第一个的score为文章的点赞数,值为文章id,第二个有序集合score为文章的阅读量,值还是文章id。这两个有序集合里面的文章id都是一样。文章id有一百亿左右。我现在想知道阅读量大于1000但是点赞数小于10的文章有哪些。于是我分别对他们zrangebyscore,把结果拿到本地再取交集。这个过程网络io消耗了太多的时间。如果是Redis 的普通集合,我可以直接取交集,但是我发现有序集合没有直接在Redis取交集的功能,大家有什么好的优化建议吗 我现在遇到的问题是,可能点赞单独满足条件的文章有一亿条,单独满足阅读量的文章也有一亿条,拿回这两亿条信息耗时12秒,最后交集下来可能只有2篇文章。大量时间白白浪费在网络io上,我希望能让Redis先交集完成,然后我直接取结果。降低网络io,我现在时间就是浪费在这个取回本地的过程上,真正交集的时间不到1秒 10和1000是可变的,老板随时会修改组合,1-1000000都可以,每个数字都可以,呈现方式是做了一个网页,老板输入这两个数字来搜索文章,现在搜索一次要12秒以上(我这个实际场景相当于是老板想知道哪些文章可能被刷了阅读量。所以有一个页面,他输入点赞数,阅读数,动态给他筛选文章出来)
分享数据库前沿,解构实战干货,推动数据库技术变革