JSON

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

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

使用 RedisJSON 的源代码可用版本 开发的应用程序与启用了 JSON 的 Redis 企业版数据库完全兼容。

JSON 路径

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

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

JSONPath 语法

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

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

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

以下路径引用 headphones,它是根节点下 inventory 的子节点

$.inventory.headphones

查看 JSONPath 示例,了解更复杂语法的示例。

旧路径语法

The 旧路径语法 指的是 RedisJSON v1 中的路径实现。RedisJSON v2 除了支持 JSONPath 语法外,还支持这种旧路径语法。

旧路径语法的使用方法如下

  • 句点字符表示根。

  • 对于指向根节点子节点的路径,可以选择性地在路径前添加句点。

  • 支持点符号和括号符号来访问 JSON 对象键。

以下路径指向 `headphones`,它是根目录下 `inventory` 的子节点。

.inventory.headphones

inventory["headphones"]

['inventory']["headphones"]

键名称规则

您只能在以下名称语法规则的情况下,使用旧路径语法来访问 JSON 键。

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

索引和搜索 JSON 文档

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

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

Active-Active 数据库中的 JSON

RedisJSON v2.2 及更高版本支持将 JSON 数据结构作为一种无冲突复制数据类型 (CRDT),用于 Active-Active Redis Enterprise 数据库

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

更多信息

RATE THIS PAGE
Back to top ↑