?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
LTRIM key start stop
自1.0.0起可用。
時(shí)間復(fù)雜度: O(N)其中N是操作要?jiǎng)h除的元素的數(shù)量。
修剪現(xiàn)有列表,使其僅包含指定的指定范圍的元素。兩個(gè)start
和stop
是基于零的索引,其中,0
是列表(頭),的第一個(gè)元素1
的下一個(gè)元素等。
例如:LTRIM foobar 0 2
將修改存儲(chǔ)在列表中的列表,foobar
以便只保留列表的前三個(gè)元素。
start
和end
也可以是指示從列表末尾偏移的負(fù)數(shù),列表-1
的最后一個(gè)元素,-2
倒數(shù)第二個(gè)元素等等。
超出范圍的索引不會(huì)產(chǎn)生錯(cuò)誤:如果start
大于列表的末尾,或者start > end
結(jié)果將是空列表(導(dǎo)致key
被刪除)。如果end
大于列表的末尾,則Redis會(huì)將其視為列表的最后一個(gè)元素。
LTRIM的常見(jiàn)用法是與LPUSH / RPUSH一起使用。例如:
LPUSH mylist someelement LTRIM mylist 0 99
這一對(duì)命令將推送列表中的一個(gè)新元素,同時(shí)確保該列表的長(zhǎng)度不會(huì)超過(guò)100個(gè)元素。例如,使用Redis存儲(chǔ)日志時(shí),這非常有用。需要注意的是,當(dāng)以這種方式使用LTRIM時(shí),OTRIM是O(1)操作,因?yàn)樵谄骄闆r下,只有一個(gè)元素從列表的尾部被刪除。
簡(jiǎn)單字符串回復(fù)
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"