一个小型的微博系统,用户量比较少的时候,采用推的方式,推效率不会太低,用户查看微博的时候,直接从队列中获取,效率很高。
整个系统需要下面几个表:
一 用户表 : 基于了一个用户的基本信息,用户的id,名称等
二 用户关系表: 表明了用户间关注关系。这块可以使用数据库表示 id+id 关系表示,但是这样效率会比较低,特别是关注者比较多的时候,可以考虑使用 redis ,因为redis本身支持数组
三 一条微博: 微博发表时间,发表用户,内容
四 用户显示的微博: 打开页面,需要显示的所有微博
推送过程介绍:
用户发送一条微博:
一 在微博表中增加一条数据
二 找到该用户对应的所有粉丝,把这条微博推给所有的粉丝