php redis set setnx,MSETNX命令_视频讲解_用法示例-redis编程词典-php中文网

Redis 的 MSETNX 命令用于同时设置多个 key-value 对,但只有当所有 key 都不存在时才会执行。这个命令是原子性的,确保了数据一致性。如果任何一个 key 已存在,整个操作将不会执行。例如,尝试设置不存在的键会成功,而如果尝试设置已存在的键则会失败。MSETNX 是在数据存储和并发控制中保证数据一致性的有效工具。
摘要由CSDN通过智能技术生成

set

英 [set]   美 [sɛt]

vt.设置;放置,安置;使处于某种状况;摆放餐具

vi.落山;出发;凝结

n.集合;一套,一副;布景;电视机

adj.固定的;位于…的;顽固的;安排好的

第三人称单数: sets 复数: sets 现在分词: setting 过去式: set 过去分词: set

redis MSETNX命令 语法

作用:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。即使只有一个给定 key 已存在, MSETNX 也会拒绝执行所有给定 key 的设置操作。

语法:MSETNX key value [key value ...]

说明:MSETNX 是原子性的,因此它可以用作设置多个不同 key 表示不同字段(field)的唯一性逻辑对象(unique logic object),所有字段要么全被设置,要么全不被设置。

可用版本:>= 1.0.1

时间复杂度:O(N), N 为要设置的 key 的数量。

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

redis MSETNX命令 示例# 对不存在的 key 进行 MSETNX

redis> MSETNX rmdbs "MySQL" nosql "MongoDB" key-value-store "redis"

(integer) 1

redis> MGET rmdbs nosql key-value-store

1) "MySQL"

2) "MongoDB"

3) "redis"

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

redis> MSETNX rmdbs "Sqlite" language "python"  # rmdbs 键已经存在,操作失败

(integer) 0

redis> EXISTS language                          # 因为 MSET 是原子性操作,language 没有被设置

(integer) 0

redis> GET rmdbs                                # rmdbs 也没有被修改

"MySQL"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值