下面小編就為大家分享一篇PHP+Redis 訊息佇列 實現高並發下註冊人數統計的執行個體,具有很好的參考價值,希望對大家有所協助。一起跟隨小編過來看看吧
前言
現在越來越多的網站開始注重統計和使用者行為分析,作為網站經常使用的功能,如何讓統計效能更加高,這也是我們需要考慮的事情。本篇通過Redis來最佳化統計功能(以註冊人數統計為例)。
傳統的統計功能都是直接操作資料庫把資料插入表中。這樣做,對資料庫的效能消耗就會比較大。
思路:
這裡我們用到了redis的隊列,註冊的時候先添加到隊列,然後在處理的時候出隊,並且把人數添加redis裡。
代碼:
<?php//register.php $redis = new Redis();$redis->connect('127.0.0.1',6379);$i=0;while(true){ $i++; //假定一直有人在註冊 $redis->rpush("register_success",$i);}
<?php//deal.php$redis = new Redis();$redis->connect('127.0.0.1',6379);while (true) { //list類型出隊操作 $value = $redis->lpop('register_success'); if($value){ echo "deal value : ".$value; //自增 添加註冊人數統計 如果key不存在 則會初始化為0 $redis->incr('register_num'); }else{ echo "deal finish"; }}
以上這篇PHP+Redis 訊息佇列 實現高並發下註冊人數統計的執行個體就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援php中文網。
您可能感興趣的文章:
laravel ORM 只開啟created_at的幾種方法總結php執行個體
PHP 記錄訪客的瀏覽資訊方法php執行個體
基於PHP實現的多元線性迴歸類比曲線演算法php技巧