针对同一手机号1秒内多次请求注册的Api的一点优化方案

     最近公司因为我这边调用注册登录接口(注册登录是同一个接口) 一秒内掉了2次 结果 给用户注册的2次 出现了2个uid 技术甩锅过来个人忽然想了一些 针对这种情况的一点优化方案

1 直接把手机号 字段设置成唯一键 (不现实 ,数据有一个用户手机号绑定过其他好几个微信的历史数据)

2  请求进入redis 的注册 集合 判定用户是否注册过

           有2中情况 1集合有返回 直接判定为登录  从redis hash或者get  拿出数据返回接口

                             2集合中没有此手机号  则又有2种情况  

                                   1用户确实未注册过   --->直接走注册的流程 注册完毕 -> 用户信息set 或者 hash 手机号扔进去集合 做判定                                     2 用户正在注册过程中,但是最终还没执行完毕  -> 查询redis  hash 有则返回 ,无则查询mysql  ->如果还没有,则wait程序执行(一般压测给出程序执行的时间),等待时间略微大于 执行时间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值