用户在连续点击两次提交按钮时,如果不做任何措施,数据中会存在两条数据。
解决方案:在插入数据库时做校验。在代码中插入数据库的部分上一个分布式的锁,用redis做为锁的对象,上锁之后,做判断,短短规则是从数据库里面查一条数据,如果数据不存在,则插入,在数据库中会生成一条id。如果存在(第二条数据的插入),取出这条数据,做更新。这样就可以解决重复插入的问题。
存在问题:分不清楚是重复提交还是用户的更新操作
解决方案:在插入数据库时做校验。在代码中插入数据库的部分上一个分布式的锁,用redis做为锁的对象,上锁之后,做判断,短短规则是从数据库里面查一条数据,如果数据不存在,则插入,在数据库中会生成一条id。如果存在(第二条数据的插入),取出这条数据,做更新。这样就可以解决重复插入的问题。
存在问题:分不清楚是重复提交还是用户的更新操作