JSON

Redis 的 JSON 支持

不和谐 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 数组和对象:

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

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

JSON 对象也有自己的命令:

格式化 CLI 输出

CLI 具有原始输出模式,可让您为输出添加格式以 JSON.GET使其更具可读性。要使用此功能,请redis-cli使用选项运行并包含格式化关键字 ,--raw例如INDENTNEWLINE和:SPACEJSON.GET

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

启用 Redis JSON

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

局限性

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

更多信息

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

给此页面评分
返回顶部 ↑