一把 Redis 分布式锁,踩透四个坑:锁争抢、僵尸锁、锁过期、锁丢失Java 的 synchronized 和 ReentrantLock 只能锁住单个 JVM,一旦服务多节点部署,JVM 之间互不可见,锁就完全失效了。本文从"为什么需要分布式锁"切入,按"问题 → 解决 → 引出新问题 → 再解决"的思路,系统讲清楚 Redis 分布式锁要解决的四大核心问题:锁争抢、僵尸锁、锁过期、锁高可用,以及对应的 SET NX EX、TTL 兜底、看门狗、UUID+Lua、RedLock 方案,最后讨论锁粒度和生产实践。