Loading

php redis如何做一个消息队列

为了开发效率,使用redis去搭建消息队列是一个不错的选择:
代码如下:

<?php
// 创建Redis连接
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

// 生产者推送消息
$redis->rPush('inbox', "message1");
$redis->rPush('inbox', "message2");

// 消费者循环处理消息
while (true) {
    $message = $redis->brPopLPush('inbox', 'processing', 5);
    if ($message) {
        // 处理消息
        echo "处理消息:" . $message . "\n";
        // 消息确认【消息处理完成,就删除该消息】
        $redis->lRem('processing', 1, $message);
    } else {
        // 超时,没有消息
        echo "等待消息超时,没有新消息。\n";
    }
}
?>

 

posted @ 2024-12-08 17:50  Carvers  阅读(69)  评论(0)    收藏  举报