Redis 命令参数

Redis 命令如何以编程方式公开其文档

COMMAND DOCS 命令返回有关可用 Redis 命令的文档相关信息。该命令返回的映射回复包含 arguments 键。此键存储一个描述命令参数的数组。

arguments 数组中的每个元素都是一个包含以下字段的映射

  • name: 参数名称,始终存在。参数名称仅用于标识目的,不会在命令语法渲染时显示。相同的名称可以在整个参数树中多次出现,但相对于其他同级参数名称而言是唯一的。这使得可以为每个参数获得一个唯一标识符(从根到任何参数路径中所有名称的连接)。
  • display_text: 参数的显示字符串,存在于具有可显示表示的参数中(所有非 oneof/block 参数)。这是在命令语法渲染中使用的字符串。
  • type: 参数类型,始终存在。参数必须是以下类型之一
    • string: 字符串参数。
    • integer: 整数参数。
    • double: 双精度参数。
    • key: 表示键名称的字符串。
    • pattern: 表示类似 glob 模式的字符串。
    • unix-time: 表示 Unix 时间戳的整数。
    • pure-token: 参数是一个 token,意味着一个保留关键字,它可能提供,也可能不提供。不要与自由文本用户输入混淆。
    • oneof: 参数是嵌套参数的容器。此类型支持在多个嵌套参数中进行选择(参见下面的 XADD 示例)。
    • block: 参数是嵌套参数的容器。此类型支持对参数进行分组并将属性(如 optional)应用于所有参数(参见下面的 XADD 示例)。
  • key_spec_index: 此值适用于 key 类型的每个参数。它是命令的 键规范 中与该参数对应的规范的 0-based 索引。
  • token: 位于参数(用户输入)本身之前的常量字面量。
  • summary: 参数的简短描述。
  • since: 参数首次引入的 Redis 版本(对于模块命令,则为模块版本)。
  • deprecated_since: 废弃该命令的 Redis 版本(对于模块命令,则为模块版本)。
  • flags: 参数标志数组。可能的标志有
    • optional: 表示参数是可选的(例如,SET 命令的 GET 子句)。
    • multiple: 表示参数可以重复(例如,DEL 命令的 key 参数)。
    • multiple-token: 表示参数及其前面的 token 可能重复出现(参见 SORTGET pattern 子句)。
  • value: 参数的值。对于除 oneofblock 之外的参数类型,这是一个描述命令语法中值的字符串。对于 oneofblock 类型,这是一个嵌套参数数组,每个元素都是本节中描述的映射。

示例

XADD 的修剪子句,即 [MAXLEN|MINID [=|~] threshold [LIMIT count]],在顶层表示为 block 类型的参数。

它包含四个嵌套参数

  1. 修剪策略: 此嵌套参数具有 oneof 类型,包含两个嵌套参数。每个嵌套参数,MAXLENMINID,类型均为 pure-token
  2. 修剪运算符: 此嵌套参数是可选的 oneof 类型,包含两个嵌套参数。每个嵌套参数,=~,类型均为 pure-token
  3. threshold: 此嵌套参数是一个 string
  4. 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"
评价此页
返回顶部 ↑