Redis 分布式锁要有过期时间
Redis 锁如果没有过期时间,持锁进程崩溃后锁会一直存在。正确做法是使用带 NX 和 EX 的原子命令。
SET lock:job token NX EX 30释放锁时要校验 token,避免 A 的锁过期后 B 获得锁,A 又误删 B 的锁。
锁的超时时间要覆盖正常执行耗时,但不能无限长。如果任务可能很久,要考虑续期或重新设计任务切分。
分布式锁不是万能一致性方案,只适合控制重复执行或短临界区。
版权申明
本文系作者 @blogger 原创发布在Redis 分布式锁要有过期时间。未经许可,禁止转载。
评论
-- 评论已关闭 --
全部评论