| 用途 | 仅当键不存在时写入(不存在才成功) |
|---|---|
| 语法 | SETNX key value;等价 SET key value NX |
| 返回 | 1 成功 / 0 已存在 |
两种写法对比
两种写法对比
SETNX job:sync:20261012 1 # 成功返回 1
EXPIRE job:sync:20261012 3600 # 必须补过期,两条命令非原子
SET job:sync:20261012b 1 NX EX 3600 # 一条搞定,推荐
SET job:sync:20261012b 1 NX PX 5000 # 锁场景用毫秒级SETNX + EXPIRE 之间存在崩溃窗口:拿到键还没设过期就挂掉,键永久残留(经典死锁成因);用 SET ... NX EX 单条原子命令规避。