分库分表后关于查询的问题

假设 用户表规划是 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 且入库

阅读 2.6k
评论
    4 个回答
    • 11.2k

    1、数据冗余,把需要查询的用户信息冗余到你的关注表,但一般不建议这么做
    2、把用户数据缓存起来,查询的时候从缓存中读取

      • 2
      • 新人请关照

      关联关系放在redis里

        查两次, users不需要总表, 先查followers, 再拿followers_id数组查profile, 再前端关联一下就好.

          可以使用redis中的list类型来存储

            撰写回答

            登录后参与交流、获取后续更新提醒

            相似问题
            推荐文章