- Usage:
-
MSETNX key value [ key value ... ]
- Complexity:
- O(N) where N is the number of keys to set.
- Since:
- 1.0.1
- ACL Categories:
- @string, @write, @slow
-
Integer reply:
0if no key was set (at least one key already existed). -
Integer reply:
1if all the keys were set.
Sets the given keys to their respective values.
MSETNX will not perform any operation at all even if just a single key already
exists.
Because of this semantic MSETNX can be used in order to set different keys
representing different fields of a unique logic object in a way that ensures
that either all the fields or none at all are set.
MSETNX is atomic, so all given keys are set at once.
It is not possible for clients to see that some of the keys were updated while
others are unchanged.
Examples
127.0.0.1:6379> MSETNX key1 "Hello" key2 "there"
(integer) 1
127.0.0.1:6379> MSETNX key2 "new" key3 "world"
(integer) 0
127.0.0.1:6379> MGET key1 key2 key3
1) "Hello"
2) "there"
3) (nil)
RESP2/RESP3 Reply
One of the following: