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

将请求存入redis

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

<?php
//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(); } }

  


在后台进行数据处理

守护进程

<?php
//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)."
";
/*
* 利用$value进行逻辑和数据处理
*/
}catch(Exception $e){
echo $e->getMessage();
}
}

  

转载:http://www.cnblogs.com/719907411hl/p/6916601.html

原文地址:https://www.cnblogs.com/qichao123/p/7799708.html