JSON

Redis对JSON的支持

Discord Github

Redis开源版的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软件和Redis Cloud中使用。有关完整的安装说明,请参阅安装Redis开源版安装Redis Enterprise

限制

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

更多信息

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

评价本页
返回顶部 ↑