我构建的 Web 应用程序有问题。它通过网络服务接收和处理客户订单。
现在,它会检查 MySQL 以确保之前没有处理过这个订单,但最近,我们收到了一些重复的订单。这两个命令之间的时间间隔为 1 毫秒。
我知道这是我的应用程序,我应该知道这一点,但这更像是一个通用问题:
1毫秒的差异是否可能是MySQL将记录写入其数据库与我的应用程序检查该记录之间的差异?如果 MySQL 用这个时间来写它的记录,我可以看到有可能有 2 个重复的订单潜入。
似乎它允许重复,因为它正在检查订单是否已经存在,并确定它不存在。
如果是这样 - 有没有更好的方法来防止重复进入我的系统?