JSON

Redis 的 JSON 支持

Discord Github

Redis Stack 的 JSON 功能为 Redis 提供 JavaScript 对象表示法 (JSON) 支持。它允许您在 Redis 数据库中存储、更新和检索 JSON 值,类似于任何其他 Redis 数据类型。Redis JSON 还与 搜索和查询 无缝协作,使您能够 索引和查询 JSON 文档

主要功能

  • 完全支持 JSON 标准
  • 用于选择/更新文档中元素的 JSONPath 语法(请参见 JSONPath 语法
  • 以树结构存储为二进制数据的文档,允许快速访问子元素
  • 所有 JSON 值类型 的类型化原子操作

将 Redis 与 JSON 一起使用

首先尝试的 JSON 命令是 JSON.SET,它使用 JSON 值设置 Redis 键。 JSON.SET 接受所有 JSON 值类型。此示例创建 JSON 字符串

请注意,命令包含美元符号字符 $。这是 JSON 文档中值的 路径(在本例中,它仅表示根)。

以下是一些其他字符串操作。 JSON.STRLEN 告诉您字符串的长度,您可以使用 JSON.STRAPPEND 将另一个字符串附加到它。

数字可以 递增相乘

这是一个更有趣的示例,其中包括 JSON 数组和对象

The JSON.DEL 命令使用 path 参数删除您指定的任何 JSON 值。

您可以使用专门的 JSON 命令子集来操作数组

JSON 对象也有自己的命令

格式化 CLI 输出

CLI 具有原始输出模式,允许您为来自 JSON.GET 的输出添加格式,使其更易读。要使用它,请使用 --raw 选项运行 redis-cli 并使用 JSON.GET 包含格式化关键字,如 INDENTNEWLINESPACE

$ redis-cli --raw
> JSON.GET obj INDENT "\t" NEWLINE "\n" SPACE " " $
[
	{
		"name": "Leonard Cohen",
		"lastSeen": 1478476800,
		"loggedOut": true
	}
]

启用 Redis JSON

Redis JSON 在基本 Redis 服务器中默认不可用,因此您应该安装 Redis Stack 或 Redis Enterprise,它们都包含 JSON 和其他有用的模块。请参阅 安装 Redis Stack安装 Redis Enterprise 以获取完整的安装说明。

限制

传递给命令的 JSON 值的深度最多为 128。如果您传递给命令的 JSON 值包含深度超过 128 的对象或数组,则命令将返回错误。

更多信息

阅读本节中的其他页面以了解有关 Redis JSON 的更多信息

RATE THIS PAGE
Back to top ↑