SETNX 可以实现分分布式锁,因为redis命令SETNX是原子操作。
如果增加超时时间,就不是原子操作了,会存在加锁之后断开,没有设置成功超时时间,KEY一直存在的情况。
可以用SET来代替SETNX:
SET key value NX EX 30
EX:超时时间,单位秒
NX:key不存在时,才会设置值
避免原子性问题。
SETNX 可以实现分分布式锁,因为redis命令SETNX是原子操作。
如果增加超时时间,就不是原子操作了,会存在加锁之后断开,没有设置成功超时时间,KEY一直存在的情况。
可以用SET来代替SETNX:
SET key value NX EX 30
EX:超时时间,单位秒
NX:key不存在时,才会设置值
避免原子性问题。