Home  >  Article  >  Backend Development  >  PHP and Redis realize registration number statistics under high concurrency

PHP and Redis realize registration number statistics under high concurrency

小云云
小云云Original
2018-01-31 09:05:522046browse

Nowadays, more and more websites are beginning to focus on statistics and user behavior analysis. As a frequently used function of websites, how to make statistical performance higher is something we need to consider. This article uses Redis to optimize the statistical function (taking registration statistics as an example). This article mainly shares with you an example of using PHP+Redis message queue to realize registration number statistics under high concurrency. It has a good reference value and I hope it will be helpful to everyone. Let’s follow the editor to take a look, I hope it can help everyone.

Traditional statistical functions directly operate the database and insert data into the table. Doing so will consume a lot of database performance.

Idea:

Here we use the redis queue. When registering, we first add it to the queue, then dequeue during processing, and add the number of people to redis.

Code:

<?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";
  }
}

Related recommendations:

Using file attributes combined with Session to implement online people counting_PHP tutorial

PHP+MYSQL implements website online people statistics [code]

php+memcache implements website online people statistics code_PHP

The above is the detailed content of PHP and Redis realize registration number statistics under high concurrency. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn