面试真题

数据库 · 中等 · 字节跳动

Redis如何实现分布式锁?除了setnx还有其他方法吗?

中等 数据库 🎤 字节跳动
参考答案
结论:Redis分布式锁常用SETNX,但有其他更优方法;除SETNX外,推荐SET key value NX PX milliseconds原子命令(Redis 2.6+)避免非原子加过期导致死锁;Redlock算法基于多个独立节点多数派获取锁提高可用性;Redisson等客户端提供看门狗自动续期;释放锁需用Lua脚本比对值后删除保证原子性。示例:SET lock:order 1 NX PX 10000。
题目整理自公开面经,答案由校招宝自研生成,仅供参考