PHP中利用redis實現訊息佇列處理高併發請求--簡潔程式碼實現效果
阿新 • • 發佈:2019-01-10
將請求存入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(); } }
效果如下: