最近做了一个类似 手机验证的功能,手机验证分发送短信 + 填入验证码然后绑定手机,
但是本人看到后台代码是在发送短信的时候直接将手机绑定了,
然后通过轮循将插入后台状态码重置了(这段代码还没找到),
请问这样在发送验证码直接将绑定数据插入数据库的方法有什么好处。
正常来说我们绑定的步骤应该是跟注册一样,发送验证码放到redis + 发到手机,
然后注册的时候去校验,所以是在点击注册的时候才插入数据库,而不是在点击发送
验证码的时候,求解。
使用 轮循 主要是 解决服务器压力过大的问题的,如果你不适用轮循 在注册时 去 插入数据库,业务就都在一起了,而使用轮循能将 注册 和 绑定手机号 分开来执行,降低了压力
没看懂为什么要用轮询
用轮询反而加大服务器压力
点击注册的时候才插入数据库就可以了
轮询对服务器的压力是不小的 不建议使用
这个绑定手机号和用户表是同一张表吗?还是说另有一张关系表保存这种绑定关系?
如果是同一张表,这种轮询机制不合理,因为存在验证码过期或者校验失败的话,手机号这个字段就必须要重新置空,这样无疑增加了一次对表的更新操作。
如果是关系表,表中用状态标识是否绑定成功,这个可以理解,但不符合逻辑,应该是发送短信时保存到数据库,状态是等待绑定,验证码
校验成功的话,状态置为成功,失败的话不做操作,这样不会有多余的更新操作。
所以说,题主说的这段代码总感觉别扭,也许是某个新手写的吧。。。
代码也是人编的吧,是人编的就可能不合理
发验证码时直接插入这样的设计不是很好 ,应该先存放在缓存 后面验证通过后在插入到数据库
怎么看都是不合理。。。你去质问写代码那个人去。。