项目日志:关于倒计时结束删除订单的操做的优化

优化前:数据库

在订单页面,会加载一个函数,先生成一条订单,在插入新订单成功后,我去数据库交互,获取当前goods表的最大id,做为当前插入订单的id。并发

这样作的缺点:函数

  1. 虽然在大部分状况下,maxId和真实的新订单Id是相同的,可是一旦并发量足够大,就会出现:最大id与当前用户的生成的订单的id不相同,从而致使,在倒计时结束时,删除错订单。优化

  2. 再去获取maxId增长了数据库的操做,必定程度上加大了出错率。im


优化的作法:数据

使用account和buyTime做为检索条件,项目

buyTime是1970年来目前的秒数,有必定程度上惟一性,再加上用户的手机号,已是彻底惟一性。co

由于(在个人项目中)同一个用户是不可能在同一秒内进行两次操做。生成

并且,很好地解决了上面的两个缺点。
交互

相关文章
相关标签/搜索