Redis 命令参数
Redis 命令如何以编程方式公开其文档
COMMAND DOCS
命令返回有关可用 Redis 命令的文档相关信息。该命令返回的映射回复包含 arguments 键。此键存储一个描述命令参数的数组。
arguments 数组中的每个元素都是一个包含以下字段的映射
- name: 参数名称,始终存在。参数名称仅用于标识目的,不会在命令语法渲染时显示。相同的名称可以在整个参数树中多次出现,但相对于其他同级参数名称而言是唯一的。这使得可以为每个参数获得一个唯一标识符(从根到任何参数路径中所有名称的连接)。
- display_text: 参数的显示字符串,存在于具有可显示表示的参数中(所有非 oneof/block 参数)。这是在命令语法渲染中使用的字符串。
- type: 参数类型,始终存在。参数必须是以下类型之一
- key_spec_index: 此值适用于 key 类型的每个参数。它是命令的 键规范 中与该参数对应的规范的 0-based 索引。
- token: 位于参数(用户输入)本身之前的常量字面量。
- summary: 参数的简短描述。
- since: 参数首次引入的 Redis 版本(对于模块命令,则为模块版本)。
- deprecated_since: 废弃该命令的 Redis 版本(对于模块命令,则为模块版本)。
- flags: 参数标志数组。可能的标志有
- value: 参数的值。对于除 oneof 和 block 之外的参数类型,这是一个描述命令语法中值的字符串。对于 oneof 和 block 类型,这是一个嵌套参数数组,每个元素都是本节中描述的映射。
示例
XADD
的修剪子句,即 [MAXLEN|MINID [=|~] threshold [LIMIT count]]
,在顶层表示为 block 类型的参数。
它包含四个嵌套参数
- 修剪策略: 此嵌套参数具有 oneof 类型,包含两个嵌套参数。每个嵌套参数,MAXLEN 和 MINID,类型均为 pure-token。
- 修剪运算符: 此嵌套参数是可选的 oneof 类型,包含两个嵌套参数。每个嵌套参数,= 和 ~,类型均为 pure-token。
- threshold: 此嵌套参数是一个 string。
- count: 此嵌套参数是可选的 integer,带有一个 token (LIMIT)。
以下是 XADD
的参数数组
1) 1) "name"
2) "key"
3) "type"
4) "key"
5) "value"
6) "key"
2) 1) "name"
2) "nomkstream"
3) "type"
4) "pure-token"
5) "token"
6) "NOMKSTREAM"
7) "since"
8) "6.2"
9) "flags"
10) 1) optional
3) 1) "name"
2) "trim"
3) "type"
4) "block"
5) "flags"
6) 1) optional
7) "value"
8) 1) 1) "name"
2) "strategy"
3) "type"
4) "oneof"
5) "value"
6) 1) 1) "name"
2) "maxlen"
3) "type"
4) "pure-token"
5) "token"
6) "MAXLEN"
2) 1) "name"
2) "minid"
3) "type"
4) "pure-token"
5) "token"
6) "MINID"
7) "since"
8) "6.2"
2) 1) "name"
2) "operator"
3) "type"
4) "oneof"
5) "flags"
6) 1) optional
7) "value"
8) 1) 1) "name"
2) "equal"
3) "type"
4) "pure-token"
5) "token"
6) "="
2) 1) "name"
2) "approximately"
3) "type"
4) "pure-token"
5) "token"
6) "~"
3) 1) "name"
2) "threshold"
3) "type"
4) "string"
5) "value"
6) "threshold"
4) 1) "name"
2) "count"
3) "type"
4) "integer"
5) "token"
6) "LIMIT"
7) "since"
8) "6.2"
9) "flags"
10) 1) optional
11) "value"
12) "count"
4) 1) "name"
2) "id_or_auto"
3) "type"
4) "oneof"
5) "value"
6) 1) 1) "name"
2) "auto_id"
3) "type"
4) "pure-token"
5) "token"
6) "*"
2) 1) "name"
2) "id"
3) "type"
4) "string"
5) "value"
6) "id"
5) 1) "name"
2) "field_value"
3) "type"
4) "block"
5) "flags"
6) 1) multiple
7) "value"
8) 1) 1) "name"
2) "field"
3) "type"
4) "string"
5) "value"
6) "field"
2) 1) "name"
2) "value"
3) "type"
4) "string"
5) "value"
6) "value"