Elasticsearch-剖析悲观锁与乐观锁两种并发控制方案(学习笔记)

  1、悲观锁并发控制方案
  常见于关系型数据库中,比如MySQL。悲观锁并发控制方案,就是在各种情况下都给数据上锁。上锁之后就只有一个线程可以操作这条数据了,当然,不同的场景下上的锁都不同,有行级锁、表级锁、读锁、写锁。
  
 2、乐观锁并发控制方案
 es使用的是乐观锁,乐观锁是不加锁的每个线程都可以任意操作,此种控制方案在写数据的时候会判断当前数据的版本号是否与es中的版本号一致,如果版本号一致则写入数据,如果版本号不一致则说明数据已被修改,此时线程会重新查出最新的数据再此基础上修改数据。
 
 优缺点:
 1、悲观锁的优点是:方便,直接加锁对应用程序来说透明,不需要做额外的操作;缺点是并发能力低,同一时间只能有一条线程操作数据。
 2、乐观锁的优点是:并发能力高,不给数据加锁,大量的线程并发操作;缺点是麻烦,每次更新的时候都要比对版本号,然后能可需要重新加载数据再次修改再写;这个过程可能要重复好几次。
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值