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实现消息队列处理高并发请求)