业务场景:领取优惠券功能,每个人领取时,用户表该用户增加一条优惠券的数据,同时优惠券表的该条优惠券的总数-1
问题:并发下多个人同时领取时,云函数下有类似的并发锁方案吗?我在云函数的文档中,看了事务的介绍,还有inc这种原子性操作的写法,好像都没法避免并发问题
举例:假设,此时优惠券只剩一张,多个人同时领取时,查优惠券表得到的结果都是1,然后都会去执行inc(-1),那这不就成负数了,以及他们都领到了优惠券.....上事务好像也不行,文档介绍了无法避免这种 写偏失 的问题
传统服务器开发的话,可以使用redis并发锁,或是msyql数据库的排它锁(select for update 这种),应该是可以解决这个并发问题,但云函数下有什么好的方案吗....
还是说有啥我理解的地方有问题?希望哪位熟悉的老哥帮忙指点下,谢谢
https://developers.weixin.qq.com/community/develop/article/doc/000ce613384d885cedce5bae256813