Redis分布式锁
基础实现
如何用 Redis 实现分布式锁?核心步骤是什么?
SETNX 命令的用法?为什么需要结合 EXPIRE 设置过期时间?
如何保证加锁和设置过期时间的原子性?(SET key value NX PX 30000)
如何实现可重入锁?需要额外记录什么信息?
高级问题
分布式锁的释放需要注意什么?为什么要用 Lua 脚本保证原子性?
什么是 RedLock 算法?它解决了什么问题?有什么争议?
如果持有锁的线程执行时间超过锁的过期时间,如何处理?(锁续期)
你项目中用过分布式锁吗?在什么场景下?如何实现的?
Redis 分布式锁和 ZooKeeper 分布式锁的对比?各自优缺点?