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


Posted in PHP onJanuary 29, 2018

前言

现在越来越多的网站开始注重统计和用户行为分析,作为网站经常使用的功能,如何让统计性能更加高,这也是我们需要考虑的事情。本篇通过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 相关文章推荐
如何对PHP程序中的常见漏洞进行攻击
Oct 09 PHP
无限级别菜单的实现
Oct 09 PHP
php抓即时股票信息
Oct 09 PHP
快速开发一个PHP扩展图文教程
Dec 12 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php中运用http调用的GET和POST方法示例
Sep 29 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
Netbeans 8.2将支持PHP7 更精彩
Jun 13 PHP
PHP微信支付开发实例
Jun 22 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP中localeconv()函数的用法
Mar 26 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 #PHP
thinkphp3.2.0 setInc方法 源码全面解析
Jan 29 #PHP
Ubuntu上安装yaf扩展的方法
Jan 29 #PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 #PHP
php实现的AES加密类定义与用法示例
Jan 29 #PHP
php 判断IP为有效IP地址的方法
Jan 28 #PHP
Laravel中unique和exists验证规则的优化详解
Jan 28 #PHP
You might like
PHP数据类型之整数类型、浮点数的介绍
2013/04/28 PHP
PHP页面中文乱码分析
2013/10/29 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
基于jquery的跨域调用文件
2010/11/19 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
JS实现复制功能
2017/03/01 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
Python函数和模块的使用总结
2019/05/20 Python
Python模块的制作方法实例分析
2019/12/21 Python
详解Flask前后端分离项目案例
2020/07/24 Python
python statsmodel的使用
2020/12/21 Python
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
保密普查工作实施方案
2014/02/25 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
2014年度思想工作总结
2014/11/27 职场文书
社区服务活动报告
2015/02/05 职场文书
会计求职自荐信
2015/03/26 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
开业典礼致辞
2015/07/29 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers