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 文件类型判断代码
Mar 13 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
深入PHP autoload机制的详解
Jun 09 PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 PHP
php调用c接口无错版介绍
Mar 11 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
php格式化金额函数分享
Feb 02 PHP
PHP实现即时输出、实时输出内容方法
May 27 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
PHP实现批量删除(封装)
Apr 28 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/05/06 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
详解php的socket通信
2015/08/11 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
常用的 JS 排序算法 整理版
2018/04/05 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
Python检测QQ在线状态的方法
2015/05/09 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
法国在线药房:DoctiPharma
2020/10/21 全球购物
社区庆中秋节活动方案
2014/02/07 职场文书
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
opencv-python图像配准(匹配和叠加)的实现
2021/06/23 Python
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python