Redis MSETNX 命令

Redis 字符串(String)

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

 

1. 语法

redis MSETNX 命令基本语法如下:

MSETNX key1 value1 key2 value2 .. keyN valueN 

 

2. 可用版本

>= 1.0.1

 

3. 返回值

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

 

4. 范例

# 对不存在的 key 进行 MSETNX

redis 127.0.0.1:6379> MSETNX rmdbs "MySQL" nosql "MongoDB"
(integer) 1

redis 127.0.0.1:6379> MGET rmdbs nosql
1) "MySQL"
2) "MongoDB"


# MSET 的给定 key 当中有已存在的 key

# rmdbs 键已经存在,操作失败
redis 127.0.0.1:6379> MSETNX rmdbs "Sqlite" language "python"
(integer) 0

# 因为 MSET 是原子性操作,language 没有被设置
redis 127.0.0.1:6379> EXISTS language
(integer) 0

# rmdbs 也没有被修改
redis 127.0.0.1:6379> GET rmdbs
"MySQL"

Redis 字符串(String)

Redis PSETEX 命令以毫秒为单位设置 key 的生存时间。语法:redis PSETEX 命令基本语法如下:PSETEX key1 EXPIRY_IN_MILLISECONDS value1。可用版本:>= 2.6.0。返回值:设置成功时返回 OK。