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)."\n";
/*
* 利用$value進行邏輯和數據處理
*/
}catch(Exception $e){
echo $e->getMessage();
}
}

  

轉載:http://www.cnblogs.com/719907411hl/p/6916601.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM