
This is an attempt to normalize/formalize command summaries. Main actions performed: * Starts with the continuation of the phrase "The XXXX command, when called, ..." for user commands. * Starts with "An internal command...", "A container command...", etc... when applicable. * Always uses periods. * Refrains from referring to other commands. If this is needed, backquotes should be used for command names. * Tries to be very clear about the data type when applicable. * Tries to mention additional effects, e.g. "The key is created if it doesn't exist" and "The set is deleted if the last member is removed." * Prefers being terse over verbose. * Tries to be consistent.
112 lines
3.6 KiB
JSON
112 lines
3.6 KiB
JSON
{
|
|
"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
|
|
}
|
|
]
|
|
}
|
|
}
|