*Redis JSON.RESP 命令
JSON.RESP 在 RedisJSON 中将指定路径的 JSON 值转换为 Redis 协议格式(RESP)返回。
*语法
JSON.RESP key [path]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | String | 是 | JSON 文档键名 |
| path | String | 否 | JSONPath 路径,默认根路径 $ |
*返回值
- RESP 格式:JSON 值对应的 Redis 协议格式
- Nil:路径不存在
*时间复杂度
O(N),N 为 JSON 值大小
*示例
*基本用法
> JSON.SET doc $ '{"a": 1, "b": [1, 2, 3]}'
OK
> JSON.RESP doc
1) "{"
2) "a"
3) (integer) 1
4) "b"
5) 1) (integer) 1
2) (integer) 2
3) (integer) 3
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR key does not exist | key 不存在 | 确认 key 存在 |
*最佳实践
- 用于需要 RESP 格式数据的客户端
- 方便与 Redis 其他数据结构交互
- 转换后可以直接用于 Redis 命令
*FAQ
Q1: 和 JSON.GET 有什么区别? A: JSON.GET 返回 JSON 字符串;JSON.RESP 返回 Redis 协议格式。
Q2: 支持所有 JSON 类型吗? A: 支持,会转换为对应的 RESP 类型。
Q3: 路径不存在会怎样? A: 返回 nil。