拼团功能,开团并发问题,使用数据库行锁方案
Posted jiangxiaochang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了拼团功能,开团并发问题,使用数据库行锁方案相关的知识,希望对你有一定的参考价值。
参考网址:https://www.sunzhongwei.com/using-laravel-sharedlock-and-lockforupdate-for-table-row-locks
个人觉得这种场景下并发数量比商品秒杀小得多,一个团的拼团入口由用户的朋友圈有关,可以使用数据库行锁控制。
sharedLock 与 lockForUpdate 相同的地方是,都能避免同一行数据被其他 transaction 进行 update。
不同的地方是:
- sharedLock 不会阻止其他 transaction 读取同一行
- lockForUpdate 会阻止其他 transaction 读取同一行 (需要特别注意的是,普通的非锁定读取读取依然可以读取到该行,只有 sharedLock 和 lockForUpdate 的读取会被阻止。)
以上是关于拼团功能,开团并发问题,使用数据库行锁方案的主要内容,如果未能解决你的问题,请参考以下文章