JSON

Redis的JSON支持

Github Github

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

主要功能

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

使用 Redis 与 JSON

第一个尝试的JSON命令是JSON.SET,它用一个JSON值设置一个Redis键。JSON.SET接受所有JSON值类型。这个例子创建了一个JSON字符串:

注意命令中如何包含美元符号字符 $。这是 JSON 文档中值的 路径(在这种情况下,它仅表示根)。

这里还有一些字符串操作。JSON.STRLEN 告诉你字符串的长度,你可以使用 JSON.STRAPPEND 将另一个字符串附加到它上面。

数字可以被增加相乘

这里有一个更有趣的例子,包括JSON数组和对象:

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 ↑