好久没有更新文章了。
list使用场景如下:
消息队列
list类型的lpop和rpush(或者反过来,lpush和rpop)能实现队列的功能,故而可以用Redis的list类型实现简单的点对点的消息队列。
最新列表
list类型的lpush命令和lrange命令能实现最新列表的功能,每次通过lpush命令往列表里插入新的元素,
然后通过lrange命令读取最新的元素列表,比如评论列表、朋友圈的点赞列表。

######消息队列demo,简单模拟抢购商品#####

$redis = new redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('123456');
$redis->flushAll(); //清空所有数据
/***入列***/
//用户点击抢购的时候,把商品信息存入消息队列
$key = 'product1';#商品1
for ($i = 0; $i < 100; $i++) {
    $uid = rand(1000, 9999);
    $number = 10; //次数,假设这件商品只能10个人抢购
    if ($number > $redis->lLen($key)) {
        $redis->rpush($key, $uid); //不够10个就入列
    } else {
        continue;
    }
}
/***出列***/
while (true){
    $flag = $redis->exists($key);
    if($flag){
        $uid = $redis->rpop($key);
        echo $uid ."抢购成功!,进行订单处理操作<br/>";
    } else {
        echo "出列完毕!";
        exit;
    }
}