PHP中利用redis实现消息队列处理高并发请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中利用redis实现消息队列处理高并发请求相关的知识,希望对你有一定的参考价值。

将请求存入redis

为了模拟多个用户的请求,使用一个for循环替代

//redis数据入队操作
$redis = new Redis();
$redis->connect(‘127.0.0.1‘,6379);
for($i=0;$i<50;$i++){
    try{
        $redis->LPUSH(‘click‘,rand(1000,5000));
    }catch(Exception $e){
        echo $e->getMessage();
    }
}




在后台进行数据处理

守护进程



//redis数据出队操作,从redis中将请求取出
$redis = new Redis();
$redis->pconnect(‘127.0.0.1‘,6379);
while(true){
    try{
        $value = $redis->LPOP(‘click‘);
        if(!$value){
            break;
        }
        //var_dump($value)."\n";
        /*
         *  利用$value进行逻辑和数据处理
         */
    }catch(Exception $e){
        echo $e->getMessage();
    }
}

 

以上是关于PHP中利用redis实现消息队列处理高并发请求的主要内容,如果未能解决你的问题,请参考以下文章

redis+php+mysql处理高并发实例

消息队列为啥用redis实现

PHP + Redis 实现消息队列

Redis的队列和消息队列的区别concept

使用Redis+MQ+MySql实现商品秒杀

php+redis实现消息队列