*Redis ARINFO 命令

ARINFO 返回数组键的元数据信息。


*语法

ARINFO key

*参数说明

参数 类型 必填 说明
key String 数组键名

*返回值

  • Array:包含以下字段的列表
    • length:数组长度
    • encoding:内部编码(如 ziplistquicklist
    • memory:近似内存占用(字节)
    • accessed:最后访问时间戳
    • modified:最后修改时间戳
  • Nil:key 不存在
  • Error:key 存储的不是 Array 类型

*时间复杂度

O(1)

*

*示例

*查看数组信息

> ARSET tags "redis" "database" "cache"
OK
> ARINFO tags
1) "length"
2) "3"
3) "encoding"
4) "quicklist"
5) "memory"
6) "96"
7) "accessed"
8) "1717459200"
9) "modified"
10) "1717459200"

*不存在的 key

> ARINFO notexist
(nil)

*常见错误

错误 原因 解决
WRONGTYPE key 不是 Array 类型 确认 key 的数据类型

*最佳实践

  • 排查大数组问题时先用 ARINFO 确认长度和内存占用
  • 监控 memory 字段排查内存异常增长
  • 配合 OBJECT ENCODINGMEMORY USAGE 做深度分析

*FAQ

Q1: ARINFO 和 DEBUG OBJECT 有什么区别? A: ARINFO 是 Array 类型专用,输出格式更友好;DEBUG OBJECT 更底层,信息更详细。

Q2: memory 字段精确吗? A: 是近似值,用于快速评估,精确内存分析请用 MEMORY USAGE key SAMPLES

Q3: 能看到元素的平均大小吗? A: ARINFO 不直接提供,可通过 memory / length 估算平均值。