2、list列表型別
簡介
列表的功能十分獨特,他可以在一個鍵下面儲存N個可以重複的元素。其實就是把string型別右邊的值換成了多個元素組成的列表。
列表結構
由於列表的可重複性,下面的結構例項中,第一個元素和最後一個元素可以重複。
[
"user":[
"yanying",
"zhangsan",
"yanying"
]
]
操作方法
命令 | 行為 |
---|---|
rpush | 從列表的右邊新增一個值 |
lpush | 從列表左邊新增一個值 |
rpop | 從列表右邊刪除一個值 |
lpop | 從列表左邊刪除一個值 |
lindex | 獲取列表在給定位置上的一個元素 |
lrange | 獲取給定範圍所有元素 |
$redis->rpush |
PHP版本從右側新增一個值 |
$redis->lrange |
PHP版本獲取範圍內所有的元素 |
$redis->lindex |
PHP版本獲取指定索引的值 |
$redis->lpop |
PHP版本從左側刪除一個元素 |
演示(命令列 + PHP演示)
命令列:
向列表新增值之後,會返回 當前的長度(包含元素個數)。(這裡是右側新增,左側新增同理)
rpush list-key item // (integer) 1 , 當前列表包含元素個數
rpush list-key item2 // (integer) 2
rpush list-key item // (integer) 3 ,即使新增相同值,也是可以新增
獲取一定範圍內的值,成功返回 範圍內所有元素。這裡的0代表起始位置,-1代表結束位置。從0到-1,代表取出所有的值。
lrange list-key 0 -1 // 該值返回的結果為:"item","item2","item"。
獲取列表裡面的 某個元素。
lindex list-key 1 // 獲取索引為1的元素
從列表左側刪除一個元素,成功返回 被刪除的元素
lpop list-key // 上面的列表返回"item"
再次獲取列表的 所有元素。記住,索引從0到-1
lrange list 0 -1 // 返回:"item2","item",之前最左邊的item已經被刪除
PHP版本演示
第一步,連結redis資料庫
$redis = new Redis();
$redis->connect(`127.0.0.1`, 6379);
設定值,成功返回當前 列表中的元素
$r = $redis->rpush("list-key","item"); // 從列表右側新增一個值item
var_dump($r);// 此時,列表中有一個元素,返回int 1
同理我們再新增item2
和item
元素
$redis->rpush("list-key","item2"); // 含有2個元素,返回int 2
$redis->rpush("list-key","item"); // 含有3個元素,返回int 3
下面,我們獲取全部的值
$redis->lrange("tutorial-list", 0 ,-1); // 該值返回的結果為:"item","item2","item"。
我們也可以通過lindex
來獲取其中某個索引的值,成功返回 索引的值
$redis->lindex("list-key",1); // 獲取索引為1的值,也就是第二個:"item2"
新增完了,我們可以使用lpop
從左側刪除一個元素,或者使用rpop
從右側刪除一個元素,成功返回 被刪除元素的值
$r = $redis->lpop("list-key"); // 這裡我們做左側刪除了一個元素,即為:`item`
我們再來使用lrange
獲取所有的元素
$redis->lrange("list-key", 0 ,-1); // 該值返回的結果為:"item2","item"。