1. 程式人生 > >Redis的List的操作

Redis的List的操作

一、介紹

list型別其實就是一個雙向連結串列,通過push , pop 操作從連結串列的頭部或者尾部新增或者刪除元素,這就使得list既可以作用棧,也可以用作佇列。

該list連結串列型別的應用場合:

       獲取最新的5個登入使用者資訊:select * from user order by logintime  desc limit 5.   這個sql語句可以實現使用者需求,但是資料多的時候,全部資料都要受影響,對資料庫的負載比較高。必要情況下還需要給資料庫欄位新增索引(id 或者 logintime),索引也是比較耗費系統資源的。

       如果通過list連結串列實現以上的功能,可以在list連結串列中只保留最新的5個數據,每進來一個新資料就刪除一箇舊的資料,這樣就可以每次從list連結串列中獲取最新的5個數據了,極大的減少了各方面的資源消耗。

二、操作

1. lpush  key   value     在連結串列的頭部新增一個元素

現在我們需要新增5個新的登入使用者,依次登入的使用者是:Steven, Jack, Miles, Albert, Zach


2. rpop  key    從連結串列的尾部刪除一個元素

現在我們又有第6個使用者Imo登入進來了,但是我們的需求是隻儲存最新登入的5個使用者,那麼先登入的使用者Steven應該被刪除掉。


3. lrange key  start  end   返回指定區間內的元素,下標從0開始


4. llen  key   返回key對應的list的長度,key不存在返回0,如果key的對應型別不是list返回錯誤


5. rpush  key   value    在key對應的list連結串列的尾部新增元素


6. lpop  key   從list連結串列的頭部刪除元素,並返回刪除的元素


7. ltrim   key   start   end     擷取list,保留指定區間的元素