JSON.MGET
语法
JSON.MGET key [key ...] path
- 可用版本
- Redis 开源版 / JSON 1.0.0
- 时间复杂度
- 当 path 评估为单个值时为 O(M*N),其中 M 是键的数量,N 是值的大小;当 path 评估为多个值时为 O(N1+N2+...+Nm),其中 m 是键的数量,Ni 是第 i 个键的大小
- ACL 分类
-
@json,@read,@slow,
从多个 key 参数返回 `path` 处的指定值
警告
启用集群模式时,所有指定的键必须位于同一个哈希槽中。
当数据库有多个分片,并且指定的键位于不同的分片中时,Redis 不会报告 CROSSSLOT 错误(以避免破坏性变更),并且结果可能是不完整的。
必需参数
key
要解析的键。对于不存在的键返回 null。
可选参数
path
要指定的 JSONPath。对于不存在的路径返回 null。
返回值
JSON.MGET 返回一个批量字符串回复数组,表示每个键在指定 path 处的值的 JSON 序列化结果。有关回复的更多信息,请参阅Redis 序列化协议规范。
示例
从多个 key 参数返回 `path` 处的指定值
创建两个 JSON 文档。
redis> JSON.SET doc1 $ '{"a":1, "b": 2, "nested": {"a": 3}, "c": null}'
OK
redis> JSON.SET doc2 $ '{"a":4, "b": 5, "nested": {"a": 6}, "c": null}'
OK获取文档中所有参数的值。
redis> JSON.MGET doc1 doc2 $..a
1) "[1,3]"
2) "[4,6]"