*Redis ARGET 命令

ARGET 返回数组中所有元素。


*语法

ARGET key

*参数说明

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

*返回值

  • Array:数组中的所有元素列表
  • Empty array:数组为空
  • Nil:key 不存在
  • Error:key 存储的不是 Array 类型

*时间复杂度

O(N),N 为数组元素数量。


*示例

*获取完整数组

> ARSET fruits "apple" "banana" "cherry"
OK
> ARGET fruits
1) "apple"
2) "banana"
3) "cherry"

*空数组

> ARSET empty
OK
> ARGET empty
(empty array)

*不存在的 key

> ARGET notexist
(nil)

*常见错误

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

*最佳实践

  • 大数组避免直接用 ARGET,改用 ARGETRANGE 分页获取
  • 配合 ARSCAN 做流式读取,减少内存峰值
  • 需要单个元素时考虑 ARGETRANGE key index index

*FAQ

Q1: ARGET 和 ARGETRANGE 有什么区别? A: ARGET 返回全部元素;ARGETRANGE 返回指定索引范围的子数组。

Q2: 数组最大能存多少元素? A: 取决于可用内存,但建议单个数组不超过 10 万元素以保证性能。

Q3: ARGET 返回元素的顺序是怎样的? A: 按索引 0 到 N-1 的顺序返回,与插入/设置顺序一致。