Redis Msetnx 命令


Redis Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。

语法

redis Msetnx 命令基本语法如下:

  1. redis 127.0.0.1:6379> MSETNX key1 value1 key2 value2 .. keyN valueN

可用版本

>= 1.0.1

返回值

当所有 key 都成功设置,返回 1 。 如果所有给定 key 都设置失败(至少有一个 key 已经存在),那么返回 0 。

实例

  1. # 对不存在的 key 进行 MSETNX
  2.  
  3. redis> MSETNX rmdbs "MySQL" nosql "MongoDB" key-value-store "redis"
  4. (integer) 1
  5.  
  6. redis> MGET rmdbs nosql key-value-store
  7. 1) "MySQL"
  8. 2) "MongoDB"
  9. 3) "redis"
  10.  
  11.  
  12. # MSET 的给定 key 当中有已存在的 key
  13.  
  14. redis> MSETNX rmdbs "Sqlite" language "python" # rmdbs 键已经存在,操作失败
  15. (integer) 0
  16.  
  17. redis> EXISTS language # 因为 MSET 是原子性操作,language 没有被设置
  18. (integer) 0
  19.  
  20. redis> GET rmdbs # rmdbs 也没有被修改
  21. "MySQL"