1.采用统一hash算法计算号码hash值,创建hash表存储hash值与手机号码的对应关系;
2.必然存在hash冲突,采用类似于hashMap类似的处理方式,hash表(hash值,index【入库时该hash值已有个数】,对应手机号码);
3.查询时传入hash值与index;
4.可采取redis做缓存,查询过的数据存入redis,以hash值为key,index值为field,注册信息json为value;
5.对field设置过期时间2-3天,根据实际变动频率以及数量调整。
6.对db中的数据按hash值范围做水平分表,减少单表数据量。
注意:这是我的答题,是没有过的,这是反例。
有大佬如果知道的话还请指点一手,不胜感激。