*Redis ARLASTITEMS 命令

ARLASTITEMS 返回数组末尾的 N 个元素。


*语法

ARLASTITEMS key [COUNT count]

*参数说明

参数 类型 必填 说明
key String 数组键名
COUNT count Integer 返回末尾元素数量,默认 1

*返回值

  • Array:末尾 N 个元素(按原顺序)
  • Empty array:数组为空或 count 为 0
  • Nil:key 不存在
  • Error:key 存储的不是 Array 类型

*时间复杂度

O(N),N 为 count 值。


*示例

*获取最后一个元素

> ARSET logs "2024-01-01" "2024-01-02" "2024-01-03" "2024-01-04"
OK
> ARLASTITEMS logs
1) "2024-01-04"

*获取末尾多个元素

> ARLASTITEMS logs COUNT 3
1) "2024-01-02"
2) "2024-01-03"
3) "2024-01-04"

*数组元素不足 count

> ARSET small "a" "b"
OK
> ARLASTITEMS small COUNT 5
1) "a"
2) "b"

*常见错误

错误 原因 解决
WRONGTYPE key 不是 Array 类型 确认 key 的数据类型
ERR value is not an integer count 非整数 传入整数 count

*最佳实践

  • 获取最新日志、最新消息的首选命令
  • ARGETRANGE key -N -1 语义更直观
  • 配合 ARING/ARRING 实现循环缓冲区的最新数据读取

*FAQ

Q1: ARLASTITEMS 和 ARGETRANGE 获取末尾有什么区别? A: ARLASTITEMS 语义更直观(获取末尾 N 个),且默认 count=1;ARGETRANGE 需要手动计算负数索引。

Q2: count 大于数组长度怎么办? A: 返回整个数组,不会报错或填充空值。

Q3: count 为 0 会怎样? A: 返回空数组。