概述
为什么80%的码农都做不了架构师?>>>
一、问题描述
涉及到的功能是一个表单页面添加数据,后端接口的功能就是往数据库中写入表单的数据,系统属于后台系统,但因为跟钱有关,添加的数据要保证同一次填写的数据只能入一次库。
测试很负责任,在测试保存时开启全部能量狂点保存按钮,结果出现了多条一样的数据,问题由此产生
分析问题,原因有两个:1. 表单没有做防重复提交,导致出现多个请求,2. 后端保存接口并发时无法判断同一表单的请求。
二、过程
Round 1:在表单提交后,把按钮置为disabled
FAIL:这种解决方案太依赖前端,并且无法保证刷新时重复提交表单
Round 2:做表单防重复提交,在页面打开时,在session和页面中设置token,表单提交时判断token,并删除session中的token
FAIL:目前的项目中没有先例,要解决防重复提交的问题应考虑整个项目的处理机制,不应特殊化某一功能,对后期维护不好,同时多个页面的token在session中也需要有不同的key,而项目部署时有多个实例,用session实现需要太多的前
最后
以上就是细腻烧鹅为你收集整理的mysql并发插入重复数据问题的解决思路的全部内容,希望文章能够帮你解决mysql并发插入重复数据问题的解决思路所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复