假设 用户表规划是 2亿 = 500W(每表) 20表(每库) 2库 与 一个用户的总表
需求是这样的
当 需要用户互相关注的情况, following 表与 followers 表 (先假设不用分表),表结构分别为
following表 = id,uid(用户id),following_uid(关注人的uid),following_time
followers表 = id,uid(用户id),followers_uid(关注人的uid),followers_time
当要查询这个用户所有的关注人的时候问题就来了,用户表已经根据一定的规则分库分表,所有的用户在不同的表上面。
这样的情况是关联的用户的总表吗? 请大家指教一下,谢谢, 有类似的相关经验也可以
只放redis 不入库这样的方案接受不了。目前想要放redis 且入库
1、数据冗余,把需要查询的用户信息冗余到你的关注表,但一般不建议这么做
2、把用户数据缓存起来,查询的时候从缓存中读取
关联关系放在redis里
查两次, users不需要总表, 先查followers, 再拿followers_id数组查profile, 再前端关联一下就好.
可以使用redis中的list类型来存储