PHP中利用redis实现消息队列处理高并发请求--简洁代码实现效果

来源:互联网 发布:ubuntu中文乱码 编辑:程序博客网 时间:2024/05/18 06:19
将请求存入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();    }}
效果如下: