*Redis COMMAND-DOCS 命令
COMMAND-DOCS 返回一个或多个命令的详细文档信息(包括参数说明、历史版本、摘要等)。
*语法
COMMAND DOCS [command-name [command-name ...]]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| command-name | String | 否 | 命令名称;不提供则返回所有命令文档 |
*返回值
返回一个映射(map),键为命令名,值为文档详情数组;如果指定命令不存在则返回空映射。
*时间复杂度
O(N),N 为查询的命令数量;不提供参数时为 O(M),M 为命令总数。
*示例
*查询单个命令文档
> COMMAND DOCS GET
1) "get"
2) 1) "summary"
2) "Get the value of a key"
...
*查询多个命令文档
> COMMAND DOCS SET GET
1) "set"
2) ...
3) "get"
4) ...
*查询所有命令文档
> COMMAND DOCS
1) "append"
2) ...
3) "bitcount"
4) ...
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR wrong number of arguments | 参数格式错误 | 语法为 COMMAND DOCS [command-name ...] |
| 返回为空 | 命令名称拼写错误 | 检查命令名大小写是否正确 |
*最佳实践
- 用于构建 Redis 客户端的交互式帮助系统。
- 批量查询多个命令时建议使用管道(pipeline)减少往返。
- 可结合本地缓存降低服务端压力。
*FAQ
COMMAND DOCS 和 COMMAND INFO 有什么区别? COMMAND DOCS 返回面向人类的文档摘要和参数说明;COMMAND INFO 返回面向程序的命令元数据数组。
文档信息会随版本变化吗? 会,新版本的命令可能会新增参数或子命令,文档内容会同步更新。
能否查询子命令文档? 部分子命令(如 SCRIPT FLUSH)有自己的独立条目,可直接查询。