| 加锁 | SET lock:order:1001 <uuid> NX PX 30000 |
|---|---|
| 释放 | Lua 比较 value 后 DEL |
| 续期 | 业务未完成时按剩余时间延长 TTL |
加锁示例
加锁示例
redis-cli SET lock:order:1001 d9f2-8c01 NX PX 30000安全释放脚本
安全释放脚本
if redis.call('GET', KEYS[1]) == ARGV[1] then
return redis.call('DEL', KEYS[1])
else
return 0
end长任务需要看门狗线程续期;锁过期与业务超时必须设计成幂等可重入,锁只是降低并发概率。