首页  >  问答  >  正文

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

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

巴扎黑巴扎黑2741 天前440

全部回复(4)我来回复

  • 阿神

    阿神2017-04-18 10:36:09

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

    回复
    0
  • 高洛峰

    高洛峰2017-04-18 10:36:09

    关联关系放在redis里

    回复
    0
  • ringa_lee

    ringa_lee2017-04-18 10:36:09

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

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:36:09

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

    回复
    0
  • 取消回复