Redis Setnx 命令

Redis 字符串(string)

Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。常用来作为分布式锁,返回 1 则设置成功,返回 0 则设置失败,也就是加锁失败,有值时不能被修改,没值时才能被设置。尝尝结合超时时间参数来使用。

语法

redis Setnx 命令基本语法如下:

redis 127.0.0.1:6379> SETNX KEY_NAME VALUE

返回值

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

实例

redis> EXISTS job                # job 不存在
(integer) 0

redis> SETNX job "programmer" # job 设置成功
(integer) 1

redis> SETNX job "code-farmer" # 尝试覆盖 job ,失败
(integer) 0

redis> GET job # 没有被覆盖
"programmer"