Redis MSETNX 命令

将给定的key设置为其各自的value。 只要其中有一个键已存在,MSETNX都不执行任何操作。

由于MSETNX命令的这个特性,可以使用MSETNX命令来设置表示同一对象的不同字段的值,以确保所有字段都设置成功或都不成功。

MSETNX命令是原子的,因此所有给定的key都同时设置成功。 客户看不到某些key已设置,而其他key未设置的状态。

可用版本:从1.0.1开始可用 时间复杂度:O(N),N为要设置的key的数量

命令格式

MSETNX key value [key value ...]

返回值

返回integer型值:

  • 1 如果所有key都被设置。
  • 0 如果所有key都没有被设置(至少一个key已存在)。

示例

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