LTRIM
删除列表两端的元素。如果所有元素都被修剪,则删除列表。
语法
LTRIM key start stop
引入版本:1.0.0
复杂度摘要:O(N)
修剪现有列表,使其仅包含指定范围内的指定元素。 start 和 stop 都是从零开始的索引,其中 0 是列表的第一个元素(头),1 是下一个元素,依此类推。
例如:LTRIM foobar 0 2 将修改存储在 foobar 的列表,以便仅保留列表的前三个元素。
start 和 stop 也可以是负数,表示距列表末尾的偏移量,其中 -1 是列表的最后一个元素,-2 是倒数第二个元素,依此类推。
超出范围的索引不会产生错误:如果 start 大于列表末尾 (start > stop),则结果将是一个空列表,这会导致 key 被删除。如果 stop 大于列表末尾 (stop > start),Redis 会将其视为列表的最后一个元素。
必需参数
key
保存列表的键的名称。
start
从零开始的索引。负索引从尾部开始计数。
stop
从零开始的停止索引(含)。负索引从尾部开始计数。
示例
LTRIM 的常见用法是与 LPUSH 或 RPUSH 一起使用。例如:
LPUSH mylist someelement
LTRIM mylist 0 99
这对命令将在列表中推送一个新元素,同时确保列表不会增长到超过 100 个元素。例如,当使用 Redis 存储日志时,这非常有用。需要注意的是,以这种方式使用 LTRIM 是一个 O(1) 操作,因为在平均情况下,仅从列表尾部删除一个元素。
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LTRIM mylist 1 -1
OK
redis> LRANGE mylist 0 -1
1) "two"
2) "three"
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ✅ 标准 |
✅ 标准 |
返回值
RESP2
简单字符串回复: OK.
RESP3
简单字符串回复: OK.
资料来源:Redis 官方 LTRIM 文档;中文内容参考 Redis 文档许可。