LTRIM
Syntax
LTRIM key start stop
- Available since:
- 1.0.0
- Time complexity:
- O(N) where N is the number of elements to be removed by the operation.
- ACL categories:
-
@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 回复
Simple string reply:OK
.