Redis SETNX命令

Redis SETNX命令总结

Redis SETNX 命令用于将 RedisKEY 的值设为 value ,当且仅当 KEY 不存在。若给定的 KEY 已经存在,则 SETNX 不做任何动作。

Redis SETNX命令详解

语法

192.168.98.70:6379> SETNX KEY value

参数

参数 作用
KEY 要设置的 KEY
value 要设置的具体的值

返回值

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

时间复杂度

O(1)

可用版本

>= 1.0.0

案例

KEY不存在

当 KEY 不存在时,设置成功

# KEY 不存在 192.168.98.70:6379> EXISTS haicoder.net (integer) 0 192.168.98.70:6379> SETNX haicoder.net Redis (integer) 1 192.168.98.70:6379> GET haicoder.net "Redis" 192.168.98.70:6379> DEL haicoder.net (integer) 1

我们首先,使用 EXISTS 命令,判断键 haicoder.net 不存在。接着,使用 SETNX 命令,设置键 haicoder.net 的值为 Redis 。

最后,使用 GET 命令,获取刚设置的键 haicoder.net 的值为 Redis。

KEY存在

当 KEY 存在时,设置失败,返回 0

# KEY 存在 192.168.98.70:6379> SET haicoder.net Redis OK 192.168.98.70:6379> GET haicoder.net "Redis" 192.168.98.70:6379> SETNX haicoder.net Mongo (integer) 0 192.168.98.70:6379> GET haicoder.net "Redis" 192.168.98.70:6379> DEL haicoder.net (integer) 1

首先,我们使用 SET 命令,设置 haicoder.net 的值为 Redis。使用 GET 命令,获取刚设置的键 haicoder.net 的值为 Redis。

接着,使用 SETNX 命令,设置键 haicoder.net 的值为 Mongo ,因为键 haicoder.net 已经存在,所以设置失败。

最后,我们使用 GET 命令,获取键 haicoder.net 的值还为 Redis。

Redis SETNX命令总结

Redis SETNX 命令用于将 Redis 的 KEY 的值设为 value ,当且仅当 KEY 不存在。Redis SETNX 命令语法:

192.168.98.70:6379> SETNX KEY value