diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:40:54 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:40:54 +0000 |
commit | 317c0644ccf108aa23ef3fd8358bd66c2840bfc0 (patch) | |
tree | c417b3d25c86b775989cb5ac042f37611b626c8a /src/commands/blmpop.json | |
parent | Initial commit. (diff) | |
download | redis-upstream/5%7.2.4.tar.xz redis-upstream/5%7.2.4.zip |
Adding upstream version 5:7.2.4.upstream/5%7.2.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/commands/blmpop.json')
-rw-r--r-- | src/commands/blmpop.json | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/src/commands/blmpop.json b/src/commands/blmpop.json new file mode 100644 index 0000000..48bfa3e --- /dev/null +++ b/src/commands/blmpop.json @@ -0,0 +1,105 @@ +{ + "BLMPOP": { + "summary": "Pops the first element from one of multiple lists. Blocks until an element is available otherwise. Deletes the list if the last element was popped.", + "complexity": "O(N+M) where N is the number of provided keys and M is the number of elements returned.", + "group": "list", + "since": "7.0.0", + "arity": -5, + "function": "blmpopCommand", + "get_keys_function": "blmpopGetKeys", + "command_flags": [ + "WRITE", + "BLOCKING" + ], + "acl_categories": [ + "LIST" + ], + "key_specs": [ + { + "flags": [ + "RW", + "ACCESS", + "DELETE" + ], + "begin_search": { + "index": { + "pos": 2 + } + }, + "find_keys": { + "keynum": { + "keynumidx": 0, + "firstkey": 1, + "step": 1 + } + } + } + ], + "reply_schema": { + "oneOf": [ + { + "description": "Operation timed-out", + "type": "null" + }, + { + "description": "The key from which elements were popped and the popped elements", + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": [ + { + "description": "List key from which elements were popped.", + "type": "string" + }, + { + "description": "Array of popped elements.", + "type": "array", + "minItems": 1, + "items": { + "type": "string" + } + } + ] + } + ] + }, + "arguments": [ + { + "name": "timeout", + "type": "double" + }, + { + "name": "numkeys", + "type": "integer" + }, + { + "name": "key", + "type": "key", + "key_spec_index": 0, + "multiple": true + }, + { + "name": "where", + "type": "oneof", + "arguments": [ + { + "name": "left", + "type": "pure-token", + "token": "LEFT" + }, + { + "name": "right", + "type": "pure-token", + "token": "RIGHT" + } + ] + }, + { + "token": "COUNT", + "name": "count", + "type": "integer", + "optional": true + } + ] + } +} |