LTRIM

语法
LTRIM key start stop
可用版本
Redis 开源版 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) 操作,因为在平均情况下,只从列表尾部移除一个元素。

示例

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

RESP2/RESP3 回复

简单字符串回复:`OK`。
评价此页面
返回顶部 ↑