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();

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容