summaryrefslogtreecommitdiffstats
path: root/src/commands/zadd.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/zadd.json')
-rw-r--r--src/commands/zadd.json144
1 files changed, 144 insertions, 0 deletions
diff --git a/src/commands/zadd.json b/src/commands/zadd.json
new file mode 100644
index 0000000..d489ee4
--- /dev/null
+++ b/src/commands/zadd.json
@@ -0,0 +1,144 @@
+{
+ "ZADD": {
+ "summary": "Adds one or more members to a sorted set, or updates their scores. Creates the key if it doesn't exist.",
+ "complexity": "O(log(N)) for each item added, where N is the number of elements in the sorted set.",
+ "group": "sorted_set",
+ "since": "1.2.0",
+ "arity": -4,
+ "function": "zaddCommand",
+ "history": [
+ [
+ "2.4.0",
+ "Accepts multiple elements."
+ ],
+ [
+ "3.0.2",
+ "Added the `XX`, `NX`, `CH` and `INCR` options."
+ ],
+ [
+ "6.2.0",
+ "Added the `GT` and `LT` options."
+ ]
+ ],
+ "command_flags": [
+ "WRITE",
+ "DENYOOM",
+ "FAST"
+ ],
+ "acl_categories": [
+ "SORTEDSET"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RW",
+ "UPDATE"
+ ],
+ "begin_search": {
+ "index": {
+ "pos": 1
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": 0,
+ "step": 1,
+ "limit": 0
+ }
+ }
+ }
+ ],
+ "reply_schema": {
+ "anyOf":[
+ {
+ "description": "Operation was aborted (conflict with one of the `XX`/`NX`/`LT`/`GT` options).",
+ "type": "null"
+ },
+ {
+ "description": "The number of new members (when the `CH` option is not used)",
+ "type": "integer"
+ },
+ {
+ "description": "The number of new or updated members (when the `CH` option is used)",
+ "type": "integer"
+ },
+ {
+ "description": "The updated score of the member (when the `INCR` option is used)",
+ "type": "number"
+ }
+ ]
+ },
+ "arguments": [
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0
+ },
+ {
+ "name": "condition",
+ "type": "oneof",
+ "optional": true,
+ "since": "3.0.2",
+ "arguments": [
+ {
+ "name": "nx",
+ "type": "pure-token",
+ "token": "NX"
+ },
+ {
+ "name": "xx",
+ "type": "pure-token",
+ "token": "XX"
+ }
+ ]
+ },
+ {
+ "name": "comparison",
+ "type": "oneof",
+ "optional": true,
+ "since": "6.2.0",
+ "arguments": [
+ {
+ "name": "gt",
+ "type": "pure-token",
+ "token": "GT"
+ },
+ {
+ "name": "lt",
+ "type": "pure-token",
+ "token": "LT"
+ }
+ ]
+ },
+ {
+ "name": "change",
+ "token": "CH",
+ "type": "pure-token",
+ "optional": true,
+ "since": "3.0.2"
+ },
+ {
+ "name": "increment",
+ "token": "INCR",
+ "type": "pure-token",
+ "optional": true,
+ "since": "3.0.2"
+ },
+ {
+ "name": "data",
+ "type": "block",
+ "multiple": true,
+ "arguments": [
+ {
+ "name": "score",
+ "type": "double"
+ },
+ {
+ "name": "member",
+ "type": "string"
+ }
+ ]
+ }
+ ]
+ }
+}