MSETNX

用法
MSETNX key value [ key value ... ]
复杂度
O(N),其中 N 是要设置的键的数量。
1.0.1
ACL 类别
@string, @write, @slow

将给定键设置为相应的值。MSETNX 在即使只有一个键已存在的情况下也不会执行任何操作。

由于这种语义,MSETNX 可以用于设置表示唯一逻辑对象不同字段的多个键,从而确保所有字段要么全部设置,要么全部不设置。

MSETNX 是原子性的,因此所有给定键都是一次性设置的。客户端不可能看到部分键已更新而其他键未更改的情况。

示例

127.0.0.1:6379> MSETNX key1 "Hello" key2 "there"
(integer) 1
127.0.0.1:6379> MSETNX key2 "new" key3 "world"
(integer) 0
127.0.0.1:6379> MGET key1 key2 key3
1) "Hello"
2) "there"
3) (nil)

RESP2/RESP3 回复

以下之一

  • 整数回复:如果未设置任何键(至少有一个键已存在),则为 0

  • 整数回复:如果所有键都已设置,则为 1