2015-01-05 96 views

回答

3

在Redis的,該指數-1總是指的是最後一個元素的LIST

這是一個更好的主意,試圖找到從列表的開頭索引(LLEN將獲得方式這個),因爲如果有人在獲取索引之後但在訪問元素之前插入或刪除了一個項目,那麼某件事就會崩潰。

要獲取Redis列表的最後一個元素,您可以使用LINDEX key -1command。您也可以使用LPOP key命令以原子方式刪除列表的最後一個元素。

所有Redis命令的文檔可在http://redis.io/commands找到。

+0

非常感謝。但是對我來說學習不夠。例如,有一個「MESSAGES」列表:「0-101,1-102,2-103」。我得到最後一個元素:'LRANGE MESSAGES -1 -1'。這是值:'103'如何獲得索引'2'? – PiligrimBilim

+1

如果你真的想要最後一個索引,而不是最後一個元素,你可以使用LLEN並從結果中減去一個。請注意,如果其他進程或線程正在訪問您的Redis實例,這可能不是最後一個索引。 – jjm

+0

這將是'$ variable = LLEN MESSAGES; $ variable = $ variable - 1'? – PiligrimBilim

相關問題