面试真题

后端 · 中等 · 阿里巴巴

秒杀场景中悲观锁有没有了解?

中等 后端 🎤 阿里巴巴
参考答案
结论:悲观锁假设并发冲突频繁,访问数据前先加锁独占资源,适用于强一致性场景。秒杀中可用数据库悲观锁(select for update)或分布式锁(Redis SETNX)防止超卖。原理:事务开启时锁住库存记录,其他请求阻塞直至提交,保证扣减原子;但高并发下易导致线程堆积、数据库连接耗尽。对比乐观锁(带版本号update where stock>0)冲突少时性能更优。秒杀瞬时流量大,通常结合Redis原子扣减或MQ异步处理,悲观锁仅用于后台管理低频操作。
题目整理自公开面经,答案由校招宝自研生成,仅供参考