JSON 格式

Redis Stack 为 Redis 数据库添加了对 JSON 的支持。

Redis 堆栈

Redis Stack 为 Redis 数据库添加了对 JSON 数据结构的支持。

使用 RedisJSON 的源代码可用版本开发的应用程序是 100% 与启用了 JSON 的 Redis Enterprise 数据库兼容。

JSON 路径

路径允许您从根开始遍历 JSON 文档的结构,并且仅与所需的数据进行交互。您还可以使用路径对特定 JSON 元素执行作。

由于 JSON 路径语法没有标准,因此 Redis Stack 实现了自己的语法。

JSONPath 语法

RedisJSON v2.0 及更高版本支持 JSONPath 语法,该语法类似于 Goessner 的设计

  • 路径以美元符号 () 开头,它表示 JSON 文档的根。$

  • 请参阅 JSONPath 语法表,了解如何访问 JSON 文档中的各种元素。

以下路径引用headphones,它是inventory在根下:

$.inventory.headphones

有关具有更复杂语法的示例,请参阅 JSONPath 示例

旧版路径语法

传统路径语法是指 RedisJSON v1 中的路径实现。除了 JSONPath 语法之外,RedisJSON v2 仍然支持此旧版路径语法。

旧版 path 语法的工作原理如下:

  • 句点字符表示根。

  • 对于指向根的 children 的 paths ,可以选择在路径前面加上句点。

  • 支持用于 JSON 对象键访问的点表示法和方括号表示法。

以下路径是指headphones,它是inventory在根下:

.inventory.headphones

inventory["headphones"]

['inventory']["headphones"]

键名称规则

只有当 JSON 键遵循以下名称语法规则时,您才能使用旧版路径语法来访问 JSON 键:

  • 键名称必须以字母、美元符号 () 或下划线 () 开头。$_
  • 键名称可以包含字母、数字、美元符号和下划线。
  • 键名称区分大小写。

索引和搜索 JSON 文档

您可以索引、搜索和查询存储的 JSON 文档。

有关如何搜索和查询 JSON 文档的更多信息,请参阅快速入门

主动-主动数据库中的 JSON

RedisJSON v2.2 及更高版本支持将 JSON 数据结构作为主动-主动 Redis Enterprise 数据库中的无冲突复制数据类型 (CRDT)。

有关 Redis Enterprise 如何解决副本尝试同步时可能出现的 JSON作冲突的详细信息,请参阅 JSON 冲突解决规则

更多信息

为本页评分
返回顶部 ↑