summaryrefslogtreecommitdiffstats
path: root/iredis/data/commands/msetnx.md
diff options
context:
space:
mode:
Diffstat (limited to 'iredis/data/commands/msetnx.md')
-rw-r--r--iredis/data/commands/msetnx.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/iredis/data/commands/msetnx.md b/iredis/data/commands/msetnx.md
new file mode 100644
index 0000000..e332223
--- /dev/null
+++ b/iredis/data/commands/msetnx.md
@@ -0,0 +1,24 @@
+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 an 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.
+
+@return
+
+@integer-reply, specifically:
+
+- `1` if the all the keys were set.
+- `0` if no key was set (at least one key already existed).
+
+@examples
+
+```cli
+MSETNX key1 "Hello" key2 "there"
+MSETNX key2 "new" key3 "world"
+MGET key1 key2 key3
+```