真诚向各位大佬请教!!!

面试过程中被问到了一个问题:

非分布式并发情况下如何解决数据一致性?


举个栗子:
如果两个医生开同一种药,同时读到此时库存数量为10,怎么去减这个库存?

似乎就是超卖问题,可是我这个业务场景并没有那么高的并发量,感觉秒杀系统那一套用不上
所以想问一下各位大佬针对这个业务场景最优的解决方案应该怎么做!
#面试题目#
全部评论
1、乐观锁;数据库加一个version字段。(并发量不高这个方案挺好的) 2、用redis存储库存;比如key是药品id,value是一个list,如果库存是一万,就放一万个1进list里面;每次减库存用lpop,加库存用rpush。lpop=null表示没库存了
点赞 回复 分享
发布于 2021-03-23 19:53
加阻塞锁,让操作库存串行执行
点赞 回复 分享
发布于 2021-05-16 16:27

相关推荐

评论
点赞
2
分享
牛客网
牛客企业服务