首页 > 编程笔记

Redis SETNX命令的用法

Redis SETNX 命令的基本语法如下:

SETNX key value

SETNX 是 Set If Not Exists(如果不存在,则 SET)的简写。SETNX 用于将 key 的值设为 String 类型的 value,当 key 不存在时,返回 1;若 key 已经存在,则 SETNX 不执行任何操作,返回 0。

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

实例如下:
127.0.0.1:6379> EXISTS language            # language不存在
(integer) 0
127.0.0.1:6379> SETNX language "java"      # language设置成功
(integer) 1
127.0.0.1:6379> SETNX language "python"    # language设置失败
(integer) 0
127.0.0.1:6379> GET language               # language没有被覆盖
"java"
第一次设置 language 时没有对应的值,所以 SETNX 修改生效,返回值为 1;第二次设置 language 时已经有了对应的值 java,所以本次修改不生效,返回值为 0。

推荐阅读