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配置文件中最常用四个ini函数
Mar 19 PHP
php更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
一个PHP验证码类代码分享(已封装成类)
Jul 17 PHP
PHP的autoload机制的实现解析
Sep 15 PHP
深入php list()函数的详解
Jun 05 PHP
php使用GD库创建图片缩略图的方法
Jun 10 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
微信接口生成带参数的二维码
Jul 31 PHP
PHP调用微博接口实现微博登录的方法示例
Sep 22 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 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
增加反向链接的101个方法 站长推荐
2007/01/31 PHP
phpinfo 系统查看参数函数代码
2009/06/05 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
Android中Okhttp3实现上传多张图片同时传递参数
2017/02/18 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
微信小程序导航栏跟随滑动效果的实现代码
2019/05/14 Javascript
jQuery zTree插件使用简单教程
2019/08/16 jQuery
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
浅谈python字符串方法的简单使用
2016/07/18 Python
Python实现的弹球小游戏示例
2017/08/01 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
Python求离散序列导数的示例
2019/07/10 Python
python批量图片处理简单示例
2019/08/06 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
python Tensor和Array对比分析
2020/01/08 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
JNI的定义
2012/11/25 面试题
医学专业毕业生推荐信
2013/11/14 职场文书
党员实事承诺书
2014/03/26 职场文书
2015年幼儿园教研活动总结
2015/03/25 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
详解如何使用Nginx解决跨域问题
2022/05/06 Servers