
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.
109 lines
3.6 KiB
JSON
109 lines
3.6 KiB
JSON
{
|
|
"XREAD": {
|
|
"summary": "Returns messages from multiple streams with IDs greater than the ones requested. Blocks until a message is available otherwise.",
|
|
"group": "stream",
|
|
"since": "5.0.0",
|
|
"arity": -4,
|
|
"function": "xreadCommand",
|
|
"get_keys_function": "xreadGetKeys",
|
|
"command_flags": [
|
|
"BLOCKING",
|
|
"READONLY",
|
|
"BLOCKING"
|
|
],
|
|
"acl_categories": [
|
|
"STREAM"
|
|
],
|
|
"key_specs": [
|
|
{
|
|
"flags": [
|
|
"RO",
|
|
"ACCESS"
|
|
],
|
|
"begin_search": {
|
|
"keyword": {
|
|
"keyword": "STREAMS",
|
|
"startfrom": 1
|
|
}
|
|
},
|
|
"find_keys": {
|
|
"range": {
|
|
"lastkey": -1,
|
|
"step": 1,
|
|
"limit": 2
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"arguments": [
|
|
{
|
|
"token": "COUNT",
|
|
"name": "count",
|
|
"type": "integer",
|
|
"optional": true
|
|
},
|
|
{
|
|
"token": "BLOCK",
|
|
"name": "milliseconds",
|
|
"type": "integer",
|
|
"optional": true
|
|
},
|
|
{
|
|
"name": "streams",
|
|
"token": "STREAMS",
|
|
"type": "block",
|
|
"arguments": [
|
|
{
|
|
"name": "key",
|
|
"type": "key",
|
|
"key_spec_index": 0,
|
|
"multiple": true
|
|
},
|
|
{
|
|
"name": "ID",
|
|
"type": "string",
|
|
"multiple": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"reply_schema": {
|
|
"oneOf": [
|
|
{
|
|
"description": "A map of key-value elements when each element composed of key name and the entries reported for that key",
|
|
"type": "object",
|
|
"patternProperties": {
|
|
"^.*$": {
|
|
"description": "The entries reported for that key",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "array",
|
|
"minItems": 2,
|
|
"maxItems": 2,
|
|
"items": [
|
|
{
|
|
"description": "entry id",
|
|
"type": "string",
|
|
"pattern": "[0-9]+-[0-9]+"
|
|
},
|
|
{
|
|
"description": "array of field-value pairs",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"description": "If BLOCK option is given, and a timeout occurs, or there is no stream we can serve",
|
|
"type": "null"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|