*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。