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 相关文章推荐
oracle资料库函式库
Oct 09 PHP
PHP新手上路(七)
Oct 09 PHP
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
php获取通过http协议post提交过来xml数据及解析xml
Dec 16 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
Thinkphp多文件上传实现方法
Oct 31 PHP
利用PHP函数计算中英文字符串长度的方法
Nov 11 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
PHP实现负载均衡session共享redis缓存操作示例
Aug 22 PHP
Smarty模板配置实例简析
Jul 20 PHP
在Laravel的Model层做数据缓存的实现
Sep 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
精致的人儿就要挑杯子喝咖啡
2021/03/03 冲泡冲煮
发款php蜘蛛统计插件只要有mysql就可用
2010/10/12 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
JQuery下的Live方法和$.browser方法使用代码
2010/06/02 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
ECMAScript6函数默认参数
2015/06/12 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
2017/05/22 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
python批量生成本地ip地址的方法
2015/03/23 Python
Python实现的数据结构与算法之队列详解
2015/04/22 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python构建XML树结构的方法示例
2017/06/30 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
python用什么编辑器进行项目开发
2020/06/17 Python
python Yaml、Json、Dict之间的转化
2020/10/19 Python
美国购买当代和现代家具网站:MODTEMPO
2018/07/20 全球购物
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
财会专业毕业生自荐信
2014/07/09 职场文书
酒店员工管理制度
2015/08/05 职场文书
2016年庆“七一”主题党日活动总结
2016/04/05 职场文书
同学聚会开幕词
2019/04/02 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python