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 相关文章推荐
eWebEditor v3.8 商业完整版 (PHP)
Dec 06 PHP
PHP 数组教程 定义数组
Oct 23 PHP
php获取bing每日壁纸示例分享
Feb 25 PHP
php过滤敏感词的示例
Mar 31 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
php实现的ping端口函数实例
Nov 12 PHP
详解PHP序列化反序列化的方法
Oct 27 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
PHP学习笔记之session
May 06 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
May 06 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
10条PHP高级技巧[修正版]
2011/08/02 PHP
php获取一个变量的名字的方法
2014/09/05 PHP
JS版网站风格切换实例代码
2008/10/06 Javascript
juqery 学习之四 筛选查找
2010/11/30 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
JQuery 的跨域方法推荐_可跨任何网站
2016/05/18 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
通过jsonp获取json数据实现AJAX跨域请求
2017/01/22 Javascript
vue元素实现动画过渡效果
2017/07/01 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python比较两个列表是否相等的方法
2015/07/28 Python
Python中如何获取类属性的列表
2016/12/26 Python
pip命令无法使用的解决方法
2018/06/12 Python
python 以16进制打印输出的方法
2018/07/09 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
护士自荐信
2013/10/25 职场文书
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
分公司经理岗位职责
2013/11/11 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
写求职信有哪些注意事项
2014/05/08 职场文书
党员先进性教育整改措施
2014/09/18 职场文书