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();
    }
}
相關文章
相關標籤/搜索