数据库中常用的悲观锁和乐观锁

Posted kevin-yang123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库中常用的悲观锁和乐观锁相关的知识,希望对你有一定的参考价值。

悲观锁:指悲观的认为数据存在脏读。超卖的场景。就会把大量访问锁死。悲观锁 分为 文件锁 和 数据表所  数据表锁又分为 表锁和行锁 ,表锁 是锁着这个表 只让只让他访问,其他都访问不了。而行锁 是针对某一条访问数据,进行的锁定。假如 同时有一万个用户来访问这个商品,但是他只有十个商品数量,此时,如果都同时购买就使库存不够,这时候就需要使用,行锁,只让某一个线程购买,其他访问线程就是搁置着,这个时候就会使访问网站瘫痪的可能。

乐观锁:就是使用redis,同时有一万个用户访问,乐观的认为不会存在冲突,然后结合事务的回滚,就可以把大量数据合理处理完毕。redis的事务和mysql的事务是存在本质的区别,redis的事务出现问题,不是回滚,而是不执行这个事件。

以上是关于数据库中常用的悲观锁和乐观锁的主要内容,如果未能解决你的问题,请参考以下文章

浅谈数据库悲观锁和乐观锁

面试官:可以谈谈乐观锁和悲观锁吗

悲观锁和乐观锁

乐观锁和悲观锁

乐观锁和悲观锁

乐观锁和悲观锁