LTRIM 命令对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
命令格式
LTRIM key start stop
可用版本:>=1.0.0
时间复杂度:O(N),N 为被移除的元素的数量。
当 key 不是列表类型时,返回一个错误。
LTRIM 命令通常和 LPUSH 命令或 RPUSH 命令配合使用。
命令参数
- start:下标的起始位置,以0为底,0表示列表的第一个元素,1表示列表的第二个元素,以此类推,也可以是负数,以-1表示列表的最后一个元素,-2表示列表的倒数第二个元素,以此类推。
- stop:下标的结束位置,下标数字的意义与 start 相同。
下标超出范围
超出范围的下标值不会引起错误。
- 如果 start 下标比列表的最大下标 end(LLEN list 减去 1)还要大,或者 start>stop,LTRIM 返回一个空列表(因为 LTRIM 已经将整个列表清空)。
- 如果 stop 下标比 end 下标还要大,Redis 将 stop 的值设置为 end。
命令返回值
命令执行成功时,返回 OK。
示例
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"