🔥高并发场景中,乐观锁和悲观锁哪个更适合?🔥
📌 引言:高并发场景的挑战
在分布式系统或高并发业务中(如电商秒杀💰、票务抢购🎫),数据一致性是核心问题。当多个请求同时修改同一资源时,如何选择锁机制?乐观锁🔓和悲观锁🔒的博弈就此展开!
一、悲观锁(Pessimistic Lock):先保护,再操作
1.1 什么是悲观锁?
💡 定义:假设并发冲突一定会发生,操作数据前先加锁(如数据库行锁),确保独占访问。
1.2 实现方式
-- MySQL示例:使用SELECT ... FOR UPDATE
BEGIN;
SELECT stock FROM product WHERE id=1 FOR UPDATE; -- 加排他锁
UPDATE product SET stock=stock-1 WHERE id