Yii redis list列表的使用

开发技术 作者: 2024-06-21 09:45:01
redis 的列表允许用户从序列的两端推入或者弹出元素,获取列表元素,以及执行各种常见的列表操作,这里介绍一些常用的列表处理命令,并在 Yii 中的使用。 RPUSH RPUSH:RPUSH key-

 

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::$app->redis->rpush('listKey','aaa');
Yii::);
 将一个或多个值推入列表的左端(头部)
Yii::$app->redis->lpush('listKey','eee','fff' 获取列表长度
Yii::$app->redis->llen('listKey');   6
// 返回列表的所有元素
Yii::$app->redis->lrange('listKey',-1);   ["fff","eee","aaa","bbb","ccc","ddd"]
// 移除并返回列表最右端的元素
Yii::$app->redis->rpop('listKey');    ddd
// 移除并返回列表最左端的元素
Yii::$app->redis->lpop('listKey');    fff

 

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_30885.html