redis 的列表允許使用者從序列的兩端推入或者彈出元素,獲取列表元素,以及執行各種常見的列表操作,這裡介紹一些常用的列表處理命令,並在 yii 中的使用。
rpush
rpush:rpush key-name value [value …]lpush將乙個或多個值推入列表的右端(尾部)
lpush:lpush key-name value [value …]llen將乙個或多個值推入列表的左端(頭部)
llen:llen key-namerpop獲取列表長度
rpop:rpop key-namelpop移除並返回列表最右端的元素
lpop:lpop key-namelindex移除並返回列表最左端的元素
lindex:lindex key-name offsetlrange返回列表中偏移量為 offset 的元素
lrange:lrange key-name start endltrim返回列表從 start 偏移量到 end 偏移量範圍內的所有元素,其中偏移量為 start 和偏移量為 end 的元素也會包含在被返回的元素之內。其中 0 表示列表的第乙個元素, 1表示列表的第二個元素,以此類推。 也可以使用負數下標,以 -1 表示列表的最後乙個元素, -2 表示列表的倒數第二個元素,以此類推。
ltrim:ltrim key-name start endblpop對列表進行修剪,只保留從 start 偏移量到 end 偏移量範圍內的元素,其中偏移量為 start 和偏移量為 end 的元素也會被保留。
blpop:blpop key-name [key-name …] timeoutbrpop從第乙個非空列表中彈出位於最左端的元素,或者在 timeout 秒之內阻塞並等待可彈出的元素出現。
brpop:brpop key-name [key-name …] timeoutrpoplpush從第乙個非空列表中彈出位於最右端的元素,或者在 timeout 秒之內阻塞並等待可彈出的元素出現。
rpoplpush:rpoplpush source-key dest-keybrpoplpush從 source-key 列表中彈出位於最右端的元素,然後將這個元素推入 dest-key 列表的最左端,並向使用者返回這個元素。
brpoplpush:brpoplpush source-key dest-key timeout在 yii 中使用例項:從 source-key 列表中彈出位於最右端的元素,然後將這個元素推入 dest-key 列表的最左端,並向使用者返回這個元素;如果 source-key 為空,那麼在 timeout 秒之內阻塞並等待可彈出的元素出現。
// 將乙個或多個值推入列表的右端(尾部)
yii::-
>
redis
->
rpush
('listkey'
,'aaa');
yii::-
>
redis
->
rpush
('listkey'
,'bbb'
,'ccc'
,'ddd');
// 將乙個或多個值推入列表的左端(頭部)
yii::-
>
redis
->
lpush
('listkey'
,'eee'
,'fff');
// 獲取列表長度
yii::-
>
redis
->
llen
('listkey');
// 6
// 返回列表的所有元素
yii::-
>
redis
->
lrange
('listkey',0
,-1)
;// ["fff","eee","aaa","bbb","ccc","ddd"]
// 移除並返回列表最右端的元素
yii::-
>
redis
->
rpop
('listkey');
// ddd
// 移除並返回列表最左端的元素
yii::-
>
redis
->
lpop
('listkey');
// fff
列表的建立和列表的切片
a huui 6788,iiiyg 788 列表的第乙個建立方法 b list hui 68888,hhhhu 列表的第二次建立方 print a,b 列印出列表 print a 0 序號找到列表元素 print b.index hui 列表元素找到序號 print a.index 6788,0,4...
列表及列表的相關操作
概念 有序的一組資料的組合list1 1,2,3,4 1.訪問 list 索引位置 如 list 0 訪問列表最左邊第乙個元素.list 1 訪問列表最右邊乙個元素.2.修改 list 0 2 修改左邊第乙個元素為2 3.分片 獲取多個連續的資料 list 開始位置 結束位置 list 開始位置 結...
python 列表裡的列表 列表的扁平化
目標 列表含有子列表展開成乙個列表,列表的扁平化 如 智利 葡萄牙 德國 轉換為 智利 葡萄牙 德國 實現 k1 智利 葡萄牙 德國 k2 sum k1,print k2 元素都為列表 lista a b c d 展開成lista1 a b c d 命令 lista1 sum lista,因為sum...