Redis Lists – LTRIM命令

2020年8月9日18:46:43 评论 40

LTRIM key start stop

修剪(trim)一个已存在的 list,这样 list 就会只包含指定范围的指定元素。start 和 stop 都是由0开始计数的, 这里的 0 是列表里的第一个元素(表头),1 是第二个元素,以此类推。

例如: LTRIM foobar 0 2 将会对存储在 foobar 的列表进行修剪,只保留列表里的前3个元素。

start 和 end 也可以用负数来表示与表尾的偏移量,比如 -1 表示列表里的最后一个元素, -2 表示倒数第二个,等等。

超过范围的下标并不会产生错误:如果 start 超过列表尾部,或者 start > end,结果会是列表变成空表(即该 key 会被移除)。 如果 end 超过列表尾部,Redis 会将其当作列表的最后一个元素。

LTRIM 的一个常见用法是和 LPUSH / RPUSH 一起使用。 例如:

  • LPUSH mylist someelement
  • LTRIM mylist 0 99

这一对命令会将一个新的元素 push 进列表里,并保证该列表不会增长到超过100个元素。这个是很有用的,比如当用 Redis 来存储日志。 需要特别注意的是,当用这种方式来使用 LTRIM 的时候,操作的复杂度是 O(1) , 因为平均情况下,每次只有一个元素会被移除。

返回值

simple-string-reply

例子

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> 

相关参考链接

Lists相关命令:

命令组 命令
Lists(列表) BLPOP;   BRPOP;   BRPOPLPUSH;
LINDEX;   LINSERT;   LLEN;
LPOP;   LPUSH;   LPUSHX;   LRANGE;   LREM;   LSET;   LTRIM;
RPOP;   RPOPLPUSH;   RPUSH;   RPUSHX

全部命令组:Keys(键)Strings(字符串)Hashes(哈希表)Lists(列表)Sets(集合)Sorted Sets(有序集合)Pub/Sub(发布/订阅)Scripting(脚本)Server(服务器)Transactions(事物)Geo(地理位置)Cluster(集群)Connection(连接)Streams(流)HyperLogLog

回到总目录:Redis命令参考手册(总目录)

素课网
  • 本文由 发表于 2020年8月9日18:46:43
  • 转载请注明:https://www.suketech.com/8916.html
Redis Cluster – READONLY命令 Redis命令参考

Redis Cluster – READONLY命令

READONLY 起始版本:3.0.0 时间复杂度:O(1) 开启与 Redis Cluster 从节点连接的读请求 通常,从节点将重定向客户端到认证过的主节点,以获取在指定命令中所涉及的哈希槽,然而...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: