gpt4 book ai didi

database - 防止重复提交的最佳设计模式是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:57:29 24 4
gpt4 key购买 nike

我有一个设计模式,我一直在努力研究如何最好地防止重复发布数据。

步骤如下:

  1. 客户端提交带有唯一 guid 的数据(客户端生成的 guid - 保证唯一)
  2. 服务器端软件确保数据库中不存在客户端 guid
  3. 开始交易
  4. 处理数据(可能需要 1-20 秒,具体取决于负载)
  5. 提交交易

场景如下:客户端提交guid为“1”的数据,然后再次提交guid为“1”的数据,在第(5)步命中原数据提交前,交易处理两次。

在不使用信号量或阻塞的情况下防止这种情况的最佳设计模式是什么?用户应该能够重新提交,以防第一次提交由于某种原因(服务器端的硬件问题等)失败。

谢谢!

最佳答案

将 GUID 存储在具有 SQL UNIQUE 约束的列中。

当您尝试(在事务中)插入第二个重复的 GUID 时,操作将失败,此时您将回滚整个事务。

关于database - 防止重复提交的最佳设计模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3951870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com