Yii redis list列表的使用

 

redis 的列表容許用戶從序列的兩端推入或者彈出元素,獲取列表元素,以及執行各類常見的列表操做,這裏介紹一些經常使用的列表處理命令,並在 Yii 中的使用。redis

RPUSHapp

RPUSH:RPUSH key-name value [value …]
將一個或多個值推入列表的右端(尾部)
spa

LPUSHcode

LPUSH:LPUSH key-name value [value …]
將一個或多個值推入列表的左端(頭部)blog

LLENclass

LLEN:LLEN key-name
獲取列表長度im

RPOPdi

RPOP:RPOP key-name
移除並返回列表最右端的元素co

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::$app->redis->rpush('listKey', 'aaa');
Yii::$app->redis->rpush('listKey', 'bbb', 'ccc', 'ddd');
// 將一個或多個值推入列表的左端(頭部)
Yii::$app->redis->lpush('listKey', 'eee', 'fff');
// 獲取列表長度
Yii::$app->redis->llen('listKey');  // 6
// 返回列表的全部元素
Yii::$app->redis->lrange('listKey', 0, -1);  // ["fff","eee","aaa","bbb","ccc","ddd"]
// 移除並返回列表最右端的元素
Yii::$app->redis->rpop('listKey');   // ddd
// 移除並返回列表最左端的元素
Yii::$app->redis->lpop('listKey');   // fff
相關文章
相關標籤/搜索