diff options
Diffstat (limited to 'src/commands/hrandfield.json')
-rw-r--r-- | src/commands/hrandfield.json | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/commands/hrandfield.json b/src/commands/hrandfield.json new file mode 100644 index 0000000..83abc74 --- /dev/null +++ b/src/commands/hrandfield.json @@ -0,0 +1,101 @@ +{ + "HRANDFIELD": { + "summary": "Returns one or more random fields from a hash.", + "complexity": "O(N) where N is the number of fields returned", + "group": "hash", + "since": "6.2.0", + "arity": -2, + "function": "hrandfieldCommand", + "command_flags": [ + "READONLY" + ], + "acl_categories": [ + "HASH" + ], + "command_tips": [ + "NONDETERMINISTIC_OUTPUT" + ], + "key_specs": [ + { + "flags": [ + "RO", + "ACCESS" + ], + "begin_search": { + "index": { + "pos": 1 + } + }, + "find_keys": { + "range": { + "lastkey": 0, + "step": 1, + "limit": 0 + } + } + } + ], + "reply_schema": { + "anyOf": [ + { + "description": "Key doesn't exist", + "type": "null" + }, + { + "description": "A single random field. Returned in case `COUNT` was not used.", + "type": "string" + }, + { + "description": "A list of fields. Returned in case `COUNT` was used.", + "type": "array", + "items": { + "type": "string" + } + }, + { + "description": "Fields and their values. Returned in case `COUNT` and `WITHVALUES` were used. In RESP2 this is returned as a flat array.", + "type": "array", + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": [ + { + "description": "Field", + "type": "string" + }, + { + "description": "Value", + "type": "string" + } + ] + } + } + ] + }, + "arguments": [ + { + "name": "key", + "type": "key", + "key_spec_index": 0 + }, + { + "name": "options", + "type": "block", + "optional": true, + "arguments": [ + { + "name": "count", + "type": "integer" + }, + { + "name": "withvalues", + "token": "WITHVALUES", + "type": "pure-token", + "optional": true + } + ] + } + ] + } +} |