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

浏览:41日期:2022-10-11

问题描述

假设 用户表规划是 2亿 = 500W(每表) 20表(每库) 2库 与 一个用户的总表

需求是这样的当 需要用户互相关注的情况, following 表与 followers 表 (先假设不用分表),表结构分别为

following表 = id,uid(用户id),following_uid(关注人的uid),following_timefollowers表 = id,uid(用户id),followers_uid(关注人的uid),followers_time

当要查询这个用户所有的关注人的时候问题就来了,用户表已经根据一定的规则分库分表,所有的用户在不同的表上面。

这样的情况是关联的用户的总表吗? 请大家指教一下,谢谢, 有类似的相关经验也可以

只放redis 不入库这样的方案接受不了。目前想要放redis 且入库

问题解答

回答1:

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

回答2:

关联关系放在redis里

回答3:

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

回答4:

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

相关文章: