博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis命令参考string---MSETNX
阅读量:6226 次
发布时间:2019-06-21

本文共 803 字,大约阅读时间需要 2 分钟。

  hot3.png

MSETNX key value [key value ...]

同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。

即使只有一个给定 key 已存在, 也会拒绝执行所有给定 key 的设置操作。

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

可用版本:

>= 1.0.1

时间复杂度:

O(N)N 为要设置的 key 的数量。

返回值:

当所有 key 都成功设置,返回 1

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

# 对不存在的 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"

转载于:https://my.oschina.net/crxy/blog/599002

你可能感兴趣的文章
sqlite自己主动更新数据库
查看>>
管理中的外行与内行
查看>>
【5】JVM-垃圾收集器
查看>>
音频变调技术
查看>>
Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
查看>>
解决App can’t be opened because it is from an unidentified developer
查看>>
读《那些年,那些事 一个程序猿的奋斗史》 一点自己的感触
查看>>
Java,泛型类型通配符和C#对照
查看>>
LeetCode(1) Symmetric Tree
查看>>
Curl命令
查看>>
HDU 2181 DFS
查看>>
Linux 用C语言判断文件和文件夹
查看>>
Eclipse中jsp、js文件编辑时,卡死现象解决汇总
查看>>
图的基本知识
查看>>
leetcode第一刷_Same Tree
查看>>
高速排序之算法导论实现
查看>>
$.post()提交了数据,return不给跳转
查看>>
检测和删除多余无用的css
查看>>
pip安装使用详解【转】
查看>>
Mybatis 中延时加载
查看>>