多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
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::$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 ```