SETNX

SETNX key value

key 的值设为 value ,当且仅当 key 不存在。

若给定的 key 已经存在,则 SETNX 不做任何动作。

SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。

可用版本:

>= 1.0.0

时间复杂度:

O(1)

返回值:

设置成功,返回 1 。设置失败,返回 0

  1. redis> EXISTS job # job 不存在
  2. (integer) 0
  3. redis> SETNX job "programmer" # job 设置成功
  4. (integer) 1
  5. redis> SETNX job "code-farmer" # 尝试覆盖 job ,失败
  6. (integer) 0
  7. redis> GET job # 没有被覆盖
  8. "programmer"

原文: https://wizardforcel.gitbooks.io/redis-doc/content/ref/51.html