3、列表(lists)html
1.lpush:將全部指定的值插入到存於 key 的列表的頭部。若是 key 不存在,那麼在進行 push 操做前會建立一個空列表。 若是 key 對應的值不是一個 list 的話,那麼會返回一個錯誤。redis
能夠使用一個命令把多個元素 push 進入列表,只需在命令末尾加上多個指定的參數。元素是從最左端的到最右端的、一個接一個被插入到 list 的頭部。 因此對於這個命令例子 LPUSH mylist a b c
,返回的列表是 c 爲第一個元素, b 爲第二個元素, a 爲第三個元素。spa
$redis->lpush('mylist','word','b','c');code
$redis->lrange('mylist',0,-1); //輸出 array(3) { [0]=> string(1) "c" [1]=> string(1) "b" [2]=> string(4) "word" }htm
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 保存的不是一個列表,那麼會返回一個錯誤。get
能夠使用一個命令把多個元素打入隊列,只須要在命令後面指定多個參數。元素是從左到右一個接一個從列表尾部插入。 好比命令 RPUSH mylist a b c 會返回一個列表,其第一個元素是 a ,第二個元素是 b ,第三個元素是 c。string
$redis->rpush('mylist','word','b','c'); class
$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',);