Redis MSETNX命令的基本用法
Redis MSETNX 命令的基本语法如下:
MSETNX 是原子性的,因此它可以用作设置多个不同的 key,表示不同字段(field)的唯一性逻辑对象(Unique Logic Object),所有字段要么全被设置,要么全不被设置。
返回值:如果所有 key 都成功设置,那么返回 1;如果所有 key 都设置失败(最少有一个 key 已经存在),那么返回 0。
实例1:对不存在的 key 执行 MSETNX 命令。
实例2:对已存在的 key 执行 MSETNX 命令。
MSETNX key value [key value ...]
MSETNX 用于设置一个或多个 key 的值,执行成功返回 OK,表示所有值都被设置了;执行失败返回 0,表示没有任何值被设置,不会覆盖已经存在的 key。MSETNX 是原子性的,因此它可以用作设置多个不同的 key,表示不同字段(field)的唯一性逻辑对象(Unique Logic Object),所有字段要么全被设置,要么全不被设置。
返回值:如果所有 key 都成功设置,那么返回 1;如果所有 key 都设置失败(最少有一个 key 已经存在),那么返回 0。
实例1:对不存在的 key 执行 MSETNX 命令。
127.0.0.1:6379> MSETNX key1 "a" key2 "b" OK 127.0.0.1:6379> GET key1 "a" 127.0.0.1:6379> GET key2 "b"
实例2:对已存在的 key 执行 MSETNX 命令。
127.0.0.1:6379> MSET key1 "a" key2 "b" OK 127.0.0.1:6379> GET key1 "a" 127.0.0.1:6379> GET key2 "b" 127.0.0.1:6379> MSETNX key2 "new_b" key3 "c" # key2已经存在,所以操作失败 (integer) 0 127.0.0.1:6379> EXISTS key3 # 因为命令是原子性的,所以key3没有被设置 (integer) 0 127.0.0.1:6379> MGET key1 key2 key3 # key2没有被修改 1) "a" 2) "b" 3) (nil) 127.0.0.1:6379> GET key3 (nil)