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,

修剪现有列表,使其仅包含指定的元素范围。 startstop 都是基于零的索引,其中 0 是列表的第一个元素(头部),1 是下一个元素,依此类推。

例如:LTRIM foobar 0 2 将修改存储在 foobar 中的列表,使得只有列表的前三个元素保留。

startend 也可以是负数,表示从列表末尾开始的偏移量,其中 -1 是列表的最后一个元素,-2 是倒数第二个元素,依此类推。

超出范围的索引不会产生错误:如果start大于列表的末尾,或者start > end,结果将是一个空列表(这会导致key被移除)。 如果end大于列表的末尾,Redis会将其视为列表的最后一个元素。

LTRIM 的一个常见用途是与 LPUSH / RPUSH 一起使用。 例如:

LPUSH mylist someelement
LTRIM mylist 0 99

这对命令将在列表上推送一个新元素,同时确保列表不会超过100个元素。这在例如使用Redis存储日志时非常有用。需要注意的是,当以这种方式使用时,LTRIM是一个O(1)操作,因为在平均情况下,只有一个元素从列表的尾部被移除。

示例

RPUSH mylist "one" RPUSH mylist "two" RPUSH mylist "three" LTRIM mylist 1 -1 LRANGE mylist 0 -1

RESP2/RESP3 回复

Simple string reply: OK.
RATE THIS PAGE
Back to top ↑