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

来源:互联网 发布:linux httplib2 编辑:程序博客网 时间:2024/06/02 00:58

前言

  现在越来越多的网站开始注重统计和用户行为分析,作为网站经常使用的功能,如何让统计性能更加高,这也是我们需要考虑的事情。本篇通过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";    }}
原创粉丝点击