COMMAND DOCS
命令返回有关可用 Valkey 命令的文档信息。该命令返回的映射回复包含 arguments 键。此键存储一个数组,用于描述命令的参数。
arguments 数组中的每个元素都是一个包含以下字段的映射
- name: 参数的名称,始终存在。参数名称仅用于识别目的,在命令语法渲染期间不显示。同一名称可以在整个参数树中出现多次,但与兄弟参数的名称相比是唯一的。这允许为每个参数获取唯一标识符(从根到任何参数路径中所有名称的连接)。
- display_text: 参数的显示字符串,存在于具有可显示表示的参数中(所有非 oneof/block 的参数)。这是在命令语法渲染中使用的字符串。
- type: 参数的类型,始终存在。参数必须具有以下类型之一
- string: 字符串参数。
- integer: 整数参数。
- double: 双精度参数。
- key: 表示键名的字符串。
- pattern: 表示 glob 风格模式的字符串。
- unix-time: 表示 Unix 时间戳的整数。
- pure-token: 参数是一个令牌,表示一个保留关键字,可以提供也可以不提供。不要与自由文本用户输入混淆。
- oneof: 参数是嵌套参数的容器。此类型允许在多个嵌套参数之间进行选择(参见下面的
XADD
示例)。 - block: 参数是嵌套参数的容器。此类型允许对参数进行分组并对其全部应用某个属性(例如 optional)(参见下面的
XADD
示例)。
- key_spec_index: 此值适用于 key 类型的每个参数。它是命令的键规范中与该参数对应的规范的基于 0 的索引。
- token: 在参数(用户输入)本身之前的一个常量字面量。
- summary: 参数的简短描述。
- since: 参数首次出现的 Redis OSS 版本(或对于模块命令,模块版本)。
- deprecated_since: 废弃该命令的 Redis OSS 版本(或对于模块命令,模块版本)。
- flags: 参数标志的数组。可能的标志有
- optional: 表示参数是可选的(例如,
SET
命令的 GET 子句)。 - multiple: 表示参数可以重复(例如,
DEL
命令的 key 参数)。 - multiple-token: 表示参数及其前置令牌可能重复(参见
SORT
命令的GET pattern
子句)。
- optional: 表示参数是可选的(例如,
- value: 参数的值。对于 oneof 和 block 以外的参数类型,这是一个描述命令语法中值的字符串。对于 oneof 和 block 类型,这是一个嵌套参数的数组,每个嵌套参数都是本节中描述的映射。
示例
XADD
的修剪子句,即 [MAXLEN|MINID [=|~] threshold [LIMIT count]]
,在顶层表示为 block 类型的参数。
它由四个嵌套参数组成
- 修剪策略: 此嵌套参数具有 oneof 类型,包含两个嵌套参数。每个嵌套参数 MAXLEN 和 MINID 的类型均为 pure-token。
- 修剪操作符: 此嵌套参数是一个可选的 oneof 类型,包含两个嵌套参数。每个嵌套参数 = 和 ~ 都是 pure-token。
- 阈值: 此嵌套参数是 string。
- 计数: 此嵌套参数是一个可选的 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"