JSON

Redis Stack 增加了对 Redis 数据库中 JSON 的支持。

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

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

JSON路径

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

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

JSONPath 语法

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

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

  • 查看JSONPath语法表以了解如何访问JSON文档中的各种元素。

以下路径指向headphones,它是根目录下inventory的子项:

$.inventory.headphones

查看JSONPath示例以获取更复杂语法的示例。

旧版路径语法

legacy path syntax 指的是 RedisJSON v1 中的路径实现。RedisJSON v2 除了支持 JSONPath 语法外,仍然支持这种旧版路径语法。

旧版路径语法的工作方式如下:

  • 一个句点字符代表根。

  • 对于根节点的子节点的路径,可以选择在路径前加上一个句点作为前缀。

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

以下路径指向headphones,它是根目录下inventory的子项:

.inventory.headphones

inventory["headphones"]

['inventory']["headphones"]

键名规则

如果JSON键遵循以下名称语法规则,您只能使用旧版路径语法来访问它们:

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

索引和搜索JSON文档

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

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

JSON在Active-Active数据库中的应用

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

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

更多信息

RATE THIS PAGE
Back to top ↑