确保一个接一个地处理多个请求

时间:2017-04-12 15:59:14

标签: php mysql queue

解释实际发生的事情:

外部服务将带有XML数据的HTTP POST请求发送到PHP脚本。此脚本检查MySQL DB中是否已存在数据。如果没有,它会插入一条新记录。

现在又出现了第二项故障安全服务。它将完全相同的XML数据发送到PHP脚本。

问题:

脚本已经检查记录是否存在。但是请求几乎同时发出,脚本被并行调用。因此,插入了具有相同数据的两个请求的数据。

我考虑过使用队列,但我无法想象一个简单的方法。整个过程实际上非常简单。

确保不插入数据两次的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

为您的事务生成哈希,使其在数据库级别是唯一的。如果你尝试两次添加相同的数据,MySQL会抛出?