收藏
回答

关于云函数操作数据库上的并发问题?

业务场景:领取优惠券功能,每个人领取时,用户表该用户增加一条优惠券的数据,同时优惠券表的该条优惠券的总数-1

问题:并发下多个人同时领取时,云函数下有类似的并发锁方案吗?我在云函数的文档中,看了事务的介绍,还有inc这种原子性操作的写法,好像都没法避免并发问题

举例:假设,此时优惠券只剩一张,多个人同时领取时,查优惠券表得到的结果都是1,然后都会去执行inc(-1),那这不就成负数了,以及他们都领到了优惠券.....上事务好像也不行,文档介绍了无法避免这种 写偏失 的问题

传统服务器开发的话,可以使用redis并发锁,或是msyql数据库的排它锁(select for update 这种),应该是可以解决这个并发问题,但云函数下有什么好的方案吗....

还是说有啥我理解的地方有问题?希望哪位熟悉的老哥帮忙指点下,谢谢

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容