ThinkPHP Redis实现模拟队列

时间:2022-01-15 08:27:08

1.入队操作:

    //入队
public function enqueue()
{
$redis = new \Redis();
$redis->connect('127.0.0.1',6379);
$arr = array('c','c++','C#','java','go','python','PHP');
foreach($arr as $k=>$v){
$redis->rpush("myqueue",$v);
echo $k."号入队成功"."<br/>";
/*
* 0号入队成功
* 1号入队成功
* 2号入队成功
* 3号入队成功
* 4号入队成功
* 5号入队成功
* 6号入队成功
*/
}
}

在浏览器中进行测试:

ThinkPHP Redis实现模拟队列

在 Redis Desktop Manager 可视化工具中查看队列的信息。

ThinkPHP Redis实现模拟队列

 2.出队操作:

    //出队
public function dequeue()
{
$redis = new \Redis();
$redis->connect('127.0.0.1',6379);
$value = $redis->lpop('myqueue');
if($value){
echo "出队的值".$value;
}else{
echo "出队完成";
}
}

在浏览器中进行测试:

ThinkPHP Redis实现模拟队列

在 Redis Desktop Manager 可视化工具中查看队列的信息。

ThinkPHP Redis实现模拟队列

此时可以看到已经出队一个。