*Redis JSON.ARRLEN 命令

JSON.ARRLEN 在 RedisJSON 中获取指定路径数组的长度。


*语法

JSON.ARRLEN key [path]

*参数说明

参数 类型 必填 说明
key String JSON 文档键名
path String JSONPath 路径,默认根路径 $

*返回值

  • Integer:数组长度
  • Error:路径不存在或目标不是数组

*时间复杂度

O(1)

*

*示例

*基本用法

> JSON.SET doc $ '{"arr": [1, 2, 3]}'
OK
> JSON.ARRLEN doc $.arr
(integer) 3
> JSON.ARRLEN doc
(integer) 1

*常见错误

错误 原因 解决
ERR path does not exist 路径不存在 确认路径正确
ERR path not an array 目标不是数组 确认路径指向数组

*最佳实践

  • 快速获取数组大小,无需读取整个数组
  • 配合 JSON.ARRAPPEND 确认追加后的长度
  • 用于分页计算

*FAQ

Q1: 路径不指定会怎样? A: 默认检查根路径是否为数组,如果是返回 1。

Q2: 空数组返回什么? A: 返回 0。

Q3: 可以获取多维数组的长度吗? A: 可以,通过 JSONPath 定位到具体数组。