讨论下如何优雅的通过乐观锁更新我们的库存字段
提出问题【乐观锁讨论】:
- 如果我们考虑使用无版本的乐观锁更改库存,那条件就是库存的变更,这个时候影响不大
- 如果我们数据表实现了
version
字段来处理库存,这个时候我们去更新库存,发现版本变更了,我们还要更新库存吗,如果仅仅是更新库存,是否允许呢
欢迎大家来参与讨论
扩展讨论【悲观锁】
对于并发对数据的修改的悲观锁方案:
- 第一种给mysql 增加一个locked_at 字段 ,如果字段有数据,说明有人在修改记录,无数据表明是正常的
- 使用redis lock 进行对数据加锁,这种也是避免了同事修改数据造成的影响,但是我们如果要针对一个修改时间比较长的表单时,要如果确保这个加锁时间呢
这里作为扩展悲观锁的讨论
推荐文章: