summaryrefslogtreecommitdiffstats
path: root/src/commands/zmpop.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/zmpop.json')
-rw-r--r--src/commands/zmpop.json111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/commands/zmpop.json b/src/commands/zmpop.json
new file mode 100644
index 0000000..86dc3ba
--- /dev/null
+++ b/src/commands/zmpop.json
@@ -0,0 +1,111 @@
+{
+ "ZMPOP": {
+ "summary": "Returns the highest- or lowest-scoring members from one or more sorted sets after removing them. Deletes the sorted set if the last member was popped.",
+ "complexity": "O(K) + O(M*log(N)) where K is the number of provided keys, N being the number of elements in the sorted set, and M being the number of elements popped.",
+ "group": "sorted_set",
+ "since": "7.0.0",
+ "arity": -4,
+ "function": "zmpopCommand",
+ "get_keys_function": "zmpopGetKeys",
+ "command_flags": [
+ "WRITE"
+ ],
+ "acl_categories": [
+ "SORTEDSET"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RW",
+ "ACCESS",
+ "DELETE"
+ ],
+ "begin_search": {
+ "index": {
+ "pos": 1
+ }
+ },
+ "find_keys": {
+ "keynum": {
+ "keynumidx": 0,
+ "firstkey": 1,
+ "step": 1
+ }
+ }
+ }
+ ],
+ "reply_schema": {
+ "oneOf": [
+ {
+ "description": "No element could be popped.",
+ "type": "null"
+ },
+ {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": [
+ {
+ "type": "string",
+ "description": "Name of the key that elements were popped."
+ },
+ {
+ "type": "array",
+ "description": "Popped elements.",
+ "items": {
+ "type": "array",
+ "uniqueItems": true,
+ "minItems": 2,
+ "maxItems": 2,
+ "items": [
+ {
+ "type": "string",
+ "description": "Name of the member."
+ },
+ {
+ "type": "number",
+ "description": "Score."
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "arguments": [
+ {
+ "name": "numkeys",
+ "type": "integer"
+ },
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0,
+ "multiple": true
+ },
+ {
+ "name": "where",
+ "type": "oneof",
+ "arguments": [
+ {
+ "name": "min",
+ "type": "pure-token",
+ "token": "MIN"
+ },
+ {
+ "name": "max",
+ "type": "pure-token",
+ "token": "MAX"
+ }
+ ]
+ },
+ {
+ "token": "COUNT",
+ "name": "count",
+ "type": "integer",
+ "optional": true
+ }
+ ]
+ }
+}