directory search
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群计数失败报告) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群键槽) cluster meet cluster nodes(集群节点) cluster replicate(集群复制) cluster reset(集群重置) cluster saveconfig cluster set config epoch cluster setslot cluster slaves cluster slots readonly readwrite Connection auth echo ping quit select swapdb Geo geoadd geodist geohash geopos georadius georadiusbymember Hashes hdel hexists hget hgetall hincrby hincrbyfloat hkeys hlen hmget hmset hscan hset hsetnx hstrlen hvals HyperLogLog pfadd pfcount pfmerge Keys del dump exists expire expireat keys migrate move object persist pexpire pexpireat pttl randomkey rename renamenx restore scan sort touch ttl type unlink wait Lists blpop brpop brpoplpush lindex linsert llen lpop lpush lpushx lrange lrem lset ltrim rpop rpoplpush rpush rpushx Pub/Sub psubscribe publish pubsub punsubscribe subscribe unsubscribe Scripting eval evalsha script debug script exists script flush script kill script load Server bgrewriteaof bgsave client getname client kill client list client pause client reply client setname command command count command getkeys command info config get config resetstat config rewrite config set dbsize debug object debug segfault flushall flushdb info lastsave monitor role save shutdown slaveof slowlog time Sets sadd scard sdiff sdiffstore sinter sinterstore sismember smembers smove spop srandmember srem sscan sunion sunionstore Sorted Sets zadd zcard zcount zincrby zinterstore zlexcount zrange zrangebylex zrangebyscore zrank zrem zremrangebylex zremrangebyrank zremrangebyscore zrevrange zrevrangebylex zrevrangebyscore zrevrank zscan zscore zunionstore Strings append bitcount bitfield bitop bitpos decr decrby get getbit getrange getset incr incrby incrbyfloat mget mset msetnx psetex set setbit setex setnx setrange strlen Transactions discard exec multi unwatch watch
characters

LTRIM key start stop

自1.0.0起可用。

时间复杂度: O(N)其中N是操作要删除的元素的数量。

修剪现有列表,使其仅包含指定的指定范围的元素。两个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时,OTRIM是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"

Previous article: Next article: