?
? ????? PHP ??? ???? ??? ?? ??
LRANGE key start stop
自1.0.0起可用。
時(shí)間復(fù)雜度: O(S + N)其中S是小列表從HEAD開始偏移的距離,大列表從最近端(HEAD或TAIL)開始偏移距離; N是指定范圍內(nèi)的元素?cái)?shù)量。
返回存儲(chǔ)在列表中的指定元素key
。偏移start
和stop
是基于零的索引,與0
作為列表(該列表的頭部)的第一個(gè)元素,1
成為下一個(gè)元件等。
這些偏移量也可以是表示從列表末尾開始的偏移量的負(fù)數(shù)。例如,-1
是列表的最后一個(gè)元素,-2
倒數(shù)第二個(gè)元素,等等。
請(qǐng)注意,如果您有一個(gè)從0到100的數(shù)字列表,LRANGE list 0 10
將返回11個(gè)元素,即包含最右邊的項(xiàng)目。這可能會(huì)或可能不會(huì)與在您選擇的編程語言范圍相關(guān)的功能(認(rèn)為Ruby的行為是一致的Range.new
,Array#slice
或Python的range()
功能)。
超出范圍的索引不會(huì)產(chǎn)生錯(cuò)誤。如果start
大于列表的末尾,則返回空列表。如果stop
大于列表的實(shí)際末尾,則Redis會(huì)將其視為列表的最后一個(gè)元素。
數(shù)組回復(fù):指定范圍內(nèi)的元素列表。
redis> RPUSH mylist "one" (integer) 1
redis> RPUSH mylist "two" (integer) 2
redis> RPUSH mylist "three" (integer) 3
redis> LRANGE mylist 0 0 1) "one"
redis> LRANGE mylist -3 2 1) "one" 2) "two" 3) "three"
redis> LRANGE mylist -100 100 1) "one" 2) "two" 3) "three"
redis> LRANGE mylist 5 10 (empty list or set)