PHP-redis命令之 列表(lists)

來源:互聯網
上載者:User

標籤:移除   set   下標   表示   man   插入   一個   儲存   建立   

三、列表(lists)

1.lpush:將所有指定的值插入到存於 key 的列表的頭部。如果 key 不存在,那麼在進行 push 操作前會建立一個空列表。 如果 key 對應的值不是一個 list 的話,那麼會返回一個錯誤。

可以使用一個命令把多個元素 push 進入列表,只需在命令末尾加上多個指定的參數。元素是從最左端的到最右端的、一個接一個被插入到 list 的頭部。 所以對於這個命令例子 LPUSH mylist a b c,返回的列表是 c 為第一個元素, b 為第二個元素, a 為第三個元素。

  $redis->lpush(‘mylist‘,‘word‘,‘b‘,‘c‘);

   $redis->lrange(‘mylist‘,0,-1); //輸出 array(3) { [0]=> string(1) "c" [1]=> string(1) "b" [2]=> string(4) "word" }

2.lpushx:只有當 key 已經存在並且存著一個 list 的時候,在這個 key 下面的 list 的頭部插入 value。 與 LPUSH 相反,當 key 不存在的時候不會進行任何操作。

   $redis->lpush(‘mylist‘,‘word‘,‘b‘,‘c‘); //輸出 int(3)
   $redis->lpushx(‘motherlist‘,‘22‘); //輸出 int(0)

3.rpush:向存於 key 的列表的尾部插入所有指定的值。如果 key 不存在,那麼會建立一個空的列表然後再進行 push 操作。 當 key 儲存的不是一個列表,那麼會返回一個錯誤。

可以使用一個命令把多個元素打入隊列,只需要在命令後面指定多個參數。元素是從左至右一個接一個從列表尾部插入。 比如命令 RPUSH mylist a b c 會返回一個列表,其第一個元素是 a ,第二個元素是 b ,第三個元素是 c。

  $redis->rpush(‘mylist‘,‘word‘,‘b‘,‘c‘);  

  $redis->lrange(‘mylist‘,0,-1); //輸出 array(3) { [0]=> string(1) "word" [1]=> string(1) "b" [2]=> string(4) "c" }

4.rpushx:將值 value 插入到列表 key 的表尾, 若且唯若 key 存在並且是一個列表。 和 RPUSH 命令相反, 當 key 不存在時,RPUSHX 命令什麼也不做。

  $redis->rpush(‘mylist‘,‘word‘,‘b‘,‘c‘); //輸出 int(3)
   $redis->rpushx(‘motherlist‘,‘22‘); //輸出 int(0)

5.lpop:移除並且返回 key 對應的 list 的第一個元素。

  $redis->lpush(‘mylist‘,‘word‘,‘b‘,‘c‘);

  $redis->lpop(‘mylist‘);//輸出 string(1) "c"

6.rpop:移除並返回存於 key 的 list 的最後一個元素。

  $redis->lpush(‘mylist‘,‘word‘,‘b‘,‘c‘);

  $redis->rpop(‘mylist‘);//輸出 string(1) "word"

7.lset:設定 index 位置的list元素的值為 value。當index超出範圍時會返回一個error(相對於修改元素的value)。

  $reids->lset(‘mylist‘,0,‘pp‘);//輸出 array(3) { [0]=> string(2) "pp" [1]=> string(1) "b" [2]=> string(4) "word" }

8.llen:返回儲存在 key 裡的list的長度。 如果 key 不存在,那麼就被看作是空list,並且返回長度為 0。 當儲存在 key 裡的值不是一個list的話,會返回error。

  $redis->llen(‘mylist‘);//輸出 int(3)

9.lindex:返回列表裡的元素的索引 index 儲存在 key 裡面。 下標是從0開始索引的,所以 0 是表示第一個元素, 1 表示第二個元素,並以此類推。 負數索引用於指定從列表尾部開始索引的元素。在這種方法下,-1 表示最後一個元素,-2 表示倒數第二個元素,並以此往前推。當 key 位置的值不是一個列表的時候,會返回一個error。

  $redis->lindex(‘mylist‘,0);//輸出 string(2) "pp"

10.linsert:把 value 插入存於 key 的列表中在基準值 pivot 的前面或後面。當 key 不存在時,這個list會被看作是空list,任何操作都不會發生。當 key 存在,但儲存的不是一個list的時候,會返回error。

  $redis->linsert(‘mylist‘,);

PHP-redis命令之 列表(lists)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.