乐观锁和悲观锁 :知识总结(一)

  乐观锁:

           相对比较乐观,进行更新的时候,并不会刻意的上锁,只会对该字段进行一个判断,判断是否修改过。可能会导致更新失败

        使用场合:

                    秒杀、比较适合读取操作比较频繁的场景

         案例:

                 实现乐观锁的两种方式:利用版本号或者时间戳

UPDATE TABLE SET CL1 = "TEST",VERSION = VERSION + 1 WHERE VERSION = 1

                 如果提交的数据版本号大于数据库表当前版本号,则予以更新,否则认为是过期数据

  悲观锁:

           好比一个非常小气的人吃东西,躲到一个房间让后把门关到,不给别人看见。每次进行更新的时候,会进行加锁(读锁、写锁、行锁等),其他的线程不能执行任何操作,会进入一个等待状态     

          使用场合:

                    比较适合写入操作比较频繁的场合 

总结:读取用乐观,写入用悲观

猜你喜欢

转载自blog.csdn.net/qq_41706675/article/details/82343877