MySQL-微博中玩家的好友数据存储

MySQL-微博中玩家的好友数据存储

泛泛之交 发布于 2017-04-04 字数 168 浏览 1008 回复 5

请输入图片描述

像微博一个人有这么多粉丝``它是如何存储的`怎么快速检索出来数量

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

瑾兮 2017-09-15 5 楼

说说我的思路哈:
1.如果数据库的复杂均衡和B-index做的好,通过存储过程就可以算出
2,将算出的结果放入cache中
3.对数据库中的数据加trigger,一旦数据发生变化,就及时的更新cache

读取的时候从cache中直接取出就可以了,如果cache没有命中就去调用从新获取数据存入

灵芸 2017-08-13 4 楼

上面显示总数,如关注数、粉丝数、微博数,这些放在用户的基本信息表里,对应缓存里面就是一条数据

用户好友列表可以采用redis的list来存储,复杂一些的,像新浪微博,可以把好友分成活跃用户、非活跃用户来分别存储,消息投递时只将消息投递给活跃用户

信息的更新,除了在相互关系发送变化时可以实时改变以外,还有很多其他方法,比如用户登录后将用户的登录事件放到一个队列里,由后台程序去捋一遍数据等

泛泛之交 2017-07-25 3 楼

新浪是先更新到redis里 再到数据库,这样保证了数据访问的一致性

清晨说ぺ晚安 2017-05-30 2 楼

新浪微博是采用Redis做为用户数据的缓存,所以当用户的好友或者是活跃用户的基本信息更新后就会更新表的数据和Redis缓存中的数据,这样就能做到实时更新,查询时只从Redis里查就行了。

夜无邪 2017-04-26 1 楼

nosql数据库直接存储一个关系链表或者集合就可以实现