基本上,我们的用户配置算法会执行类似的操作
-查询新用户 -更新数据库以显示您拥有该用户
我想知道如何锁定进程的其他实例在进程已经启动时执行“读取”步骤的能力。所以它比典型的事务要激进一点,因为它需要一个读读锁,当然不相关的进程应该能够在不受锁影响的情况下进行读取。
最佳答案
您只需立即运行 UPDATE 查询即可“窃取”当前服务器的所有非事件用户。
由于各个 UPDATE 查询始终是原子的,这将确保每个用户仅被一台服务器获取。
由于 MySQL 不允许您从 UPDATE 返回更新的行,因此您需要添加一个标识符列来告诉您哪些行被“窃取”。
每次配置用户时,选择一个 GUID,在 UPDATE 语句中将标识符列设置为该 GUID,然后选择仍然具有该 GUID 的行。
关于mysql - 事务中的 JDBC/MySQL 查询和更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11745091/