Redis 命令参数
Redis 命令如何以编程方式公开其文档
COMMAND DOCS
命令返回有关可用 Redis 命令的以文档为重点的信息。该命令返回的映射回复包括 arguments 键。此键存储描述命令参数的数组。
arguments 数组中的每个元素都是具有以下字段的映射
- name: 参数的名称,始终存在。参数的名称仅用于识别目的。在命令的语法呈现期间不显示它。整个参数树中可以多次出现相同的名称,但与其他同级参数的名称相比,它是唯一的。这允许为每个参数获取唯一标识符(从根到任何参数的路径中所有名称的连接)。
- display_text: 参数的显示字符串,存在于具有可显示表示形式的参数中(所有不是 oneof/block 的参数)。这是命令语法呈现中使用的字符串。
- type: 参数的类型,始终存在。参数必须具有以下类型之一
- 键规范索引:此值可用于键类型的每个参数。它是命令的 键规范 中与参数对应的规范的从 0 开始的索引。
- 标记:参数(用户输入)本身之前的常量文字。
- 摘要:参数的简短描述。
- 自:参数的首次 Redis 版本(或对于模块命令,模块版本)。
- 已弃用自:弃用该命令的 Redis 版本(或对于模块命令,模块版本)。
- 标志:参数标志数组。可能的标志是
- 值:参数的值。对于oneof 和block 以外的参数类型,这是一个字符串,用于描述命令语法中的值。对于oneof 和block 类型,这是一个嵌套参数数组,每个参数都是本节中描述的映射。
示例
XADD
的修剪子句,即 [MAXLEN|MINID [=|~] threshold [LIMIT count]]
,在顶层表示为block 类型参数。
它包含四个嵌套参数
- 修剪策略:此嵌套参数具有一个oneof类型,其中包含两个嵌套参数。每个嵌套参数MAXLEN和MINID的类型均为纯令牌。
- 修剪运算符:此嵌套参数是一个可选的oneof类型,其中包含两个嵌套参数。每个嵌套参数=和~都是纯令牌。
- 阈值:此嵌套参数是一个字符串。
- 计数:此嵌套参数是一个可选的整数,带有一个令牌(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"