当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP+Redis 消息队列 实现高并发下注册人数统计的实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-09-01 16:00:51 浏览: 评论:0 

下面小编就为大家分享一篇PHP+Redis 消息队列 实现高并发下注册人数统计的实例,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

前言

现在越来越多的网站开始注重统计和用户行为分析,作为网站经常使用的功能,如何让统计性能更加高,这也是我们需要考虑的事情。本篇通过Redis来优化统计功能(以注册人数统计为例)。

传统的统计功能都是直接操作数据库把数据插入表中。这样做,对数据库的性能消耗就会比较大。

思路:这里我们用到了redis的队列,注册的时候先添加到队列,然后在处理的时候出队,并且把人数添加redis里。

代码:

  1. <?php 
  2. //register.php  
  3. $redis = new Redis(); 
  4. $redis->connect('127.0.0.1',6379); 
  5. $i=0; 
  6. while(true){ 
  7.   $i++; 
  8.   //假定一直有人在注册 
  9.   $redis->rpush("register_success",$i); 
  10.  
  11. <?php 
  12. //deal.php 
  13. $redis = new Redis(); 
  14. $redis->connect('127.0.0.1',6379); 
  15. while (true) { 
  16.   //list类型出队操作 
  17.   $value = $redis->lpop('register_success'); 
  18.   if($value){ 
  19.     echo "deal value : ".$value
  20.     //自增 添加注册人数统计  如果key不存在 则会初始化为0 
  21.     $redis->incr('register_num'); 
  22.   }else
  23.     echo "deal finish"
  24.   } 
  25. }

Tags: PHP+Redis 消息队列

分享到: