悲观锁:指悲观的认为数据存在脏读。超卖的场景。就会把大量访问锁死。悲观锁 分为 文件锁 和 数据表所 数据表锁又分为 表锁和行锁 ,表锁 是锁着这个表 只让只让他访问,其他都访问不了。而行锁 是针对某一条访问数据,进行的锁定。假如 同时有一万个用户来访问这个商品,但是他只有十个商品数量,此时,如果都同时购买就使库存不够,这时候就需要使用,行锁,只让某一个线程购买,其他访问线程就是搁置着,这个时候就会使访问网站瘫痪的可能。
乐观锁:就是使用redis,同时有一万个用户访问,乐观的认为不会存在冲突,然后结合事务的回滚,就可以把大量数据合理处理完毕。redis的事务和mysql的事务是存在本质的区别,redis的事务出现问题,不是回滚,而是不执行这个事件。