Yii redis list列表的使用

2021-10-06 15:42:14 字數 2654 閱讀 3783

redis 的列表允許使用者從序列的兩端推入或者彈出元素,獲取列表元素,以及執行各種常見的列表操作,這裡介紹一些常用的列表處理命令,並在 yii 中的使用。

rpush

rpush:rpush key-name value [value …]

將乙個或多個值推入列表的右端(尾部)

lpush

lpush:lpush key-name value [value …]

將乙個或多個值推入列表的左端(頭部)

llen

llen:llen key-name

獲取列表長度

rpop

rpop:rpop key-name

移除並返回列表最右端的元素

lpop

lpop:lpop key-name

移除並返回列表最左端的元素

lindex

lindex:lindex key-name offset

返回列表中偏移量為 offset 的元素

lrange

lrange:lrange key-name start end

返回列表從 start 偏移量到 end 偏移量範圍內的所有元素,其中偏移量為 start 和偏移量為 end 的元素也會包含在被返回的元素之內。其中 0 表示列表的第乙個元素, 1表示列表的第二個元素,以此類推。 也可以使用負數下標,以 -1 表示列表的最後乙個元素, -2 表示列表的倒數第二個元素,以此類推。

ltrim

ltrim:ltrim key-name start end

對列表進行修剪,只保留從 start 偏移量到 end 偏移量範圍內的元素,其中偏移量為 start 和偏移量為 end 的元素也會被保留。

blpop

blpop:blpop key-name [key-name …] timeout

從第乙個非空列表中彈出位於最左端的元素,或者在 timeout 秒之內阻塞並等待可彈出的元素出現。

brpop

brpop:brpop key-name [key-name …] timeout

從第乙個非空列表中彈出位於最右端的元素,或者在 timeout 秒之內阻塞並等待可彈出的元素出現。

rpoplpush

rpoplpush:rpoplpush source-key dest-key

從 source-key 列表中彈出位於最右端的元素,然後將這個元素推入 dest-key 列表的最左端,並向使用者返回這個元素。

brpoplpush

brpoplpush:brpoplpush source-key dest-key timeout

從 source-key 列表中彈出位於最右端的元素,然後將這個元素推入 dest-key 列表的最左端,並向使用者返回這個元素;如果 source-key 為空,那麼在 timeout 秒之內阻塞並等待可彈出的元素出現。

在 yii 中使用例項:

// 將乙個或多個值推入列表的右端(尾部)

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...