LTRIM
语法
LTRIM key start stop
- 可用版本
- 1.0.0
- 时间复杂度
- O(N),其中 N 是操作要移除的元素数量。
- ACL 类别
-
@write
,@list
,@slow
,
修剪现有列表,使其仅包含指定范围内的元素。start
和 stop
都是从零开始的索引,其中 0
是列表的第一个元素(表头),1
是下一个元素,依此类推。
例如:LTRIM foobar 0 2
将修改存储在 foobar
中的列表,使其仅保留列表的前三个元素。
start
和 end
也可以是负数,表示从列表末尾开始的偏移量,其中 -1
是列表的最后一个元素,-2
是倒数第二个元素,依此类推。
超出范围的索引不会产生错误:如果 start
大于列表的末尾,或 start > end
,结果将为空列表(这会导致 key
被移除)。如果 end
大于列表的末尾,Redis 将将其视为列表的最后一个元素。
LTRIM
的一个常见用法是与 LPUSH
/ RPUSH
结合使用。例如
LPUSH mylist someelement
LTRIM mylist 0 99
这对命令将在列表上推送一个新元素,同时确保列表不会增长到超过 100 个元素。这在使用 Redis 存储日志时非常有用。重要的是要注意,当以这种方式使用时,LTRIM
是一个 O(1) 操作,因为在平均情况下,只从列表的尾部移除一个元素。
示例
RESP2/RESP3 回复
简单字符串回复:OK
。