PHP+Redis 消息隊列 實現(xiàn)高并發(fā)下注冊人數(shù)統(tǒng)計的實例
前言
現(xiàn)在越來越多的網(wǎng)站開始注重統(tǒng)計和用戶行為分析,作為網(wǎng)站經(jīng)常使用的功能,如何讓統(tǒng)計性能更加高,這也是我們需要考慮的事情。本篇通過Redis來優(yōu)化統(tǒng)計功能(以注冊人數(shù)統(tǒng)計為例)。
傳統(tǒng)的統(tǒng)計功能都是直接操作數(shù)據(jù)庫把數(shù)據(jù)插入表中。這樣做,對數(shù)據(jù)庫的性能消耗就會比較大。
思路:
這里我們用到了redis的隊列,注冊的時候先添加到隊列,然后在處理的時候出隊,并且把人數(shù)添加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; //自增 添加注冊人數(shù)統(tǒng)計 如果key不存在 則會初始化為0 $redis->incr('register_num'); }else{ echo "deal finish"; } }
以上這篇PHP+Redis 消息隊列 實現(xiàn)高并發(fā)下注冊人數(shù)統(tǒng)計的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- PHP并發(fā)場景的三種解決方案代碼實例
- php并發(fā)加鎖問題分析與設(shè)計代碼實例講解
- PHP解決高并發(fā)的優(yōu)化方案實例
- php多進程模擬并發(fā)事務(wù)產(chǎn)生的問題小結(jié)
- PHP利用Mysql鎖解決高并發(fā)的方法
- php curl批處理實現(xiàn)可控并發(fā)異步操作示例
- php處理搶購類功能的高并發(fā)請求
- PHP開發(fā)中解決并發(fā)問題的幾種實現(xiàn)方法分析
- PHP使用Redis實現(xiàn)防止大并發(fā)下二次寫入的方法
- php結(jié)合redis高并發(fā)下發(fā)帖、發(fā)微博的實現(xiàn)方法
- 詳解php處理大并發(fā)大流量大存儲
相關(guān)文章
PHP實現(xiàn)生成透明背景的PNG縮略圖函數(shù)分享
這篇文章主要介紹了PHP實現(xiàn)生成透明背景的PNG縮略圖函數(shù)分享,需要的朋友可以參考下2014-07-07深入php函數(shù)file_get_contents超時處理的方法詳解
本篇文章是對php函數(shù)file_get_contents超時處理的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06淺談php中的訪問修飾符private、protected、public的作用范圍
下面小編就為大家?guī)硪黄獪\談php中的訪問修飾符private、protected、public的作用范圍。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11