后端岗位面试题更新 2026-08-05

你用Redis的setnx+expire实现分布式锁,如果锁被提前删了,另一个线程进来了,造成数据错误怎么办?

淘天集团后端开发互联网/IT风险判断技术原理问题排查Redis

考察说明

考察分布式锁误删与互斥失效的识别、预防和修复能力

回答思路

  1. 指出锁被提前删除的常见场景:过期自动释放或删除时误删他人锁
  2. 说明防止误删的关键:加锁时写入唯一标识,解锁前校验持有者
  3. 说明原子性保证:使用Lua脚本完成校验与删除
  4. 讨论锁过期时间设置与续期机制
  5. 讨论更严格一致性场景下的替代方案,如Redisson或fencing token
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。