拼团功能,开团并发问题,使用数据库行锁方案

参考网址:https://www.sunzhongwei.com/using-laravel-sharedlock-and-lockforupdate-for-table-row-locks

个人觉得这种场景下并发数量比商品秒杀小得多,一个团的拼团入口由用户的朋友圈有关,可以使用数据库行锁控制。

sharedLock 与 lockForUpdate 相同的地方是,都能避免同一行数据被其他 transaction 进行 update。

不同的地方是:

  • sharedLock 不会阻止其他 transaction 读取同一行
  • lockForUpdate 会阻止其他 transaction 读取同一行 (需要特别注意的是,普通的非锁定读取读取依然可以读取到该行,只有 sharedLock 和 lockForUpdate 的读取会被阻止。)

猜你喜欢

转载自www.cnblogs.com/jiangxiaochang/p/11133480.html