参考答案
结论:基于SET key value NX PX与Lua脚本实现分布式锁。核心要点:1. 获取锁:SET lock:resource <唯一ID> NX PX 30000,利用Redis单线程互斥;2. 释放锁:Lua脚本先GET比对value再DEL,保证原子性防误删;3. 设置过期时间避免死锁;4. 未获锁可短休眠重试。示例:获取锁命令SET lock:order UUID NX PX 10000;释放脚本if redis.call('get',KEYS[1])==ARGV[1] then return redis.call('del',KEYS[1]) else return 0 end。该方案高性能但需注意锁续期。