2013-03-25 74 views
0

我试图找到存储关注者/关注用户数据的最佳人选, 我最初考虑的是将其存储在Redis中的用户 - >用户集但是后来我想到了一个情景,那里有一百万甚至一千万用户的关注者,Redis如何处理这样一个庞大的集合?也不可能在redis中的一组分页上做分页,我必须检索整个集合,如果用户想要浏览跟随他的人,那么这将不起作用。 如果我将它存储在MySQL中,我肯定可以做分页,但是当我必须建立用户提要时,可能需要很长时间从数据库中提取1000万条记录,我可以以旧批处理方式执行此操作,但每次听起来都很痛苦一个有很多追随者的用户会发布一些内容,然后处理这1000万条记录将永远只是为了获取他的追随者。 将它存储在MySQL中用于分页(主要是前端)还是Redis中用于构建活动源的事件驱动消息传递是否值得?MySQL vs Redis用于存储关注者/关注用户

回答

0

这是个人决定是否使用redis或mysql来执行此任务。这两千万条记录都没有问题。

MySQL拥有LIMIT x,y命令,用于从数据库中获取关注者的子集。

对于redis,您可以使用排序集并使用跟随者的用户标识或用户开始跟随的时间作为排序集的评分。就像MySQL redis支持获取大型有序集的一个子集。