微博上,每个用户可以发送一条消息,可以 follow 另一个用户, 当用户发送消息时,所有 follow 他的用户都能看见这条消息。如 A follow B,则 B 的消息,A 都能看见。
实现一个微博客消息存储系统,可以使用多台机器来满足性能要求, 可以再海量的用户和消息下,快速的实现以下两种查询:
a)给定一个用户,查询他发送的消息,按消息发送时间排序,新 的消息在前。
b)给定一个用户,查询他 follow 的所有人的消息,按消息发送时 间排序,新的消息在前.
(a):根据uid,msg分库记录用户的消息.直接通过sql查询实现
(b):A follow B, B发消息的时候主动发送消息id到A的新鲜事列表.
如果A是僵死用户就通过拉的方式,登陆后获取所有关注用户的微薄
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题