并发读取和写入数据库中的相同值

时间:2017-05-19 10:45:18

标签: database jdbc concurrency dao

我正在进行投票申请,投票将针对每位候选人在数据库中进行登记,因为其在线投票程序,很可能会有很多人一次投票给同一个人,所以我面临着并发阅读和更新的问题,同样的价值,我应该如何处理这个条件。所以每个选票都是登记的,延迟应该是最小的。我使用JDBC和mySQL作为数据库。

1 个答案:

答案 0 :(得分:0)

@ user3418790确保您在该表上使用InnoDB数据库引擎。

在事务中使用锁定并在表中存储时间戳或版本标识符,以便了解行何时发生更改。

  1. 开始交易。
  2. 获取时间戳或版本,并与您期望的值进行比较。如果更改则失败并让用户处理它。
  3. 更新数据。
  4. 提交交易。
  5. 它。