0

我正在尝试找到存储关注者/关注用户数据的最佳候选者,我最初考虑将其存储在 Redis 中的一组用户 - > 用户 ID 组中,但后来我想到了超过 100 万的场景甚至一个用户有 1000 万粉丝,Redis 将如何处理如此庞大的集合?我也无法在 redis 中对集合进行分页,如果用户想要浏览跟随他的人,我必须检索整个集合,这将不起作用。如果我将它存储在 MySQL 中,我肯定可以进行分页,但是每当我必须构建用户提要时,从数据库中获取 1000 万条记录可能需要很长时间,我可以用旧的批处理方式来做这件事,但是当一个拥有很多粉丝的用户发布一些东西然后处理这 1000 万条记录只是为了获取他的粉丝时,这听起来仍然很痛苦。将它存储在 MySQL 中用于分页(主要是前端)和 Redis 中用于构建活动提要的事件驱动消息传递是否值得?

4

1 回答 1

0

是否使用 redis 或 mysql 来完成此任务是个人决定。这 1000 万条记录都没有问题。

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

对于 redis,您可以使用排序集并使用关注者的用户 ID 或用户开始关注的时间作为排序集的分数。和 MySQL 一样,redis 支持获取大型排序集的子集。

于 2013-03-26T13:31:00.170 回答