列表
LTRIM命令
命令:ltrim key start end,对队列key的元素按照start的位置和end位置进行截取,只保留从start位置到end位置之间的元素,并返回ok(删除整个列表时返回empty...)。
特殊情况:
1.key不是队列类型的情况下会报错
2.当start位置在end位置的右边(左边为队列头,右边为队列尾)的情况(因为两个值都可以为负数,所以现在说左右且规定头尾,不会有歧义),会将整个队列删除。
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> ltrim db 0 -1 ###key不存在时也会返回ok
OK
127.0.0.1:6379> rpush db redis mysql oracle mogo pgsql
(integer) 5
127.0.0.1:6379> ltrim db 1 4
OK
127.0.0.1:6379> lrange db 0 -1
1) "mysql"
2) "oracle"
3) "mogo"
4) "pgsql"
127.0.0.1:6379> ltrim db 0 2
OK
127.0.0.1:6379> lrange db 0 -1
1) "mysql"
2) "oracle"
3) "mogo"
127.0.0.1:6379> lrange db 2 1 ##start位置在end的右边,这个队列将删除,返回empty...
(empty list or set)
127.0.0.1:6379> lrange db 0 -1
1) "mysql"
2) "oracle"
3) "mogo"
127.0.0.1:6379> ltrim db 2 1
OK
127.0.0.1:6379> lrange db 0 -1
(empty list or set)
127.0.0.1:6379> rpush db redis mysql oracle
(integer) 3
127.0.0.1:6379> ltrim db -3 -2
OK
127.0.0.1:6379> lrange db 0 -1
1) "redis"
2) "mysql"
127.0.0.1:6379> ltrim db -1 -2
OK
127.0.0.1:6379> lrange db 0 -1 ##start位置在end的右边,这个队列将删除,返回empty...
(empty list or set)