前言

现在越来越多的网站开始注重统计和用户行为分析,作为网站经常使用的功能,如何让统计性能更加高,这也是我们需要考虑的事情。本篇通过Redis来优化统计功能(以注册人数统计为例)。

传统的统计功能都是直接操作数据库把数据插入表中。这样做,对数据库的性能消耗就会比较大。

思路:

这里我们用到了redis的队列,注册的时候先添加到队列,然后在处理的时候出队,并且把人数添加redis里。

代码:

//register.php

$redis = new Redis();

$redis->connect('127.0.0.1',6379);

$i=0;

while(true){

$i++;

//假定一直有人在注册

$redis->rpush("register_success",$i);

}

//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结合redis实现高并发下的抢购、秒杀功能的实例

php结合redis高并发下发帖、发微博的实现方法

PHP基于Redis消息队列实现发布微博的方法

时间: 2018-01-28

php 频繁插库处理队列,PHP+Redis 消息队列 实现高并发下注册人数统计的实例相关推荐

  1. Redis 消息队列的三种方案选型

    文章目录 Redis 消息队列的三种方案选型 消息队列(Message Queue,简称 MQ) 消息队列使用场景 Redis 消息队列应用背景,选型思考 Redis消息队列发展历程 在Redis中提 ...

  2. Day741.Redis消息队列 -Redis 核心技术与实战

    Redis消息队列 Hi,我是阿昌,今天学习的相关内容是Redis消息队列内容. 现在的互联网应用基本上都是采用分布式系统架构进行设计的,而很多分布式系统必备的一个基础软件就是消息队列. 消息队列要能 ...

  3. Redis消息队列发展历程

    简介:Redis是目前最受欢迎的kv类数据库,当然它的功能越来越多,早已不限定在kv场景,消息队列就是Redis中一个重要的功能.Redis从2010年发布1.0版本就具备一个消息队列的雏形,随着10 ...

  4. redis消息队列,你还不敢用?

    文章目录 前言 一.关于消息队列 1.应用场景 2.如何设计消息队列 二.Redis 消息队列解决方案 1.基于 List 的消息队列解决方案 2.基于 zset 的消息队列解决方案 3.基于 Str ...

  5. Redis 消息队列的三种方案(List、Streams、Pub/Sub)

    现如今的互联网应用大都是采用 分布式系统架构 设计的,所以 消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段,它具有 低耦合.可靠投递.广播.流量控制.最终一致性 等一系列功能. 当前使用较多 ...

  6. 如何保证 Redis 消息队列中的数据不丢失?

    Redis 最常见的业务场景就是缓存读取与存储,而随着时间的推移,有人开始将它作为消息队列来使用了,并且随着 Redis 版本的发展,在 Redis.2.0.0 中新增了发布订阅模式(Pub/Sub) ...

  7. 【Redis消息队列实现异步秒杀】--Redis学习笔记08

    前言 秒杀业务的优化思路: 先利用Redis完成库存余量.一人一单判断,完成抢单业务 再将下单业务放入队列中(阻塞队列,消息队列),利用独立线程异步下单 基于阻塞队列的异步秒杀存在哪些问题? 内存限制 ...

  8. PHP借用Redis消息队列实现高并发下发送邮件功能

    参考: 我目前的做法是,借用redis的队列,把要发送的消息,全部放到里面,然后就不管了 有一个后台发送进程,来处理队列里面的数据 1.如果需要重发,则把发送失败的消息放到一个备份的队列里,每次循环开 ...

  9. 【Redis学习08】Redis消息队列实现异步秒杀

    文章目录 1. 消息队列 1.1 基于List结构模拟消息队列 1.2 基于PubSub的消息队列 1.3 基于Stream的消息队列 2. 基于Stream的消息队列---消费者组 2.1 消费者组 ...

最新文章

  1. Angular文件上传---fileUpload的使用
  2. bind、call、apply
  3. leetcode算法题--整数拆分
  4. 卖软件源码、解决技术难题、做生意,都需要讲个基本原则【No Money No Code】
  5. SQLite 使用(创、升、增、删、改、查)
  6. fou循环 php 剩余次数_php for 循环语句使用方法详细说明
  7. 学习Java 采取令牌的方式避免重复提交
  8. gulp版本号管理插件注意事项
  9. SWT学生成绩管理系统
  10. 深度防范,如何应对区块链安全问题?
  11. C# winform实现系统托盘NotifyIcon控件右键菜单
  12. kali linux ap热点,Kali(debian)创建WIFI AP热点
  13. 网站使用微信网页授权,qq登录
  14. mysql 经纬度范围_根据经纬度查询最近距离,mysql查询经纬度附近范围
  15. hadoop文件存储位置_hadoop – HDFS存储数据的位置
  16. linux达人养成计划i,Linux达人养成计划 I
  17. (新型事件相机有关的论文解读)A Unifying Contrast Maximization Framework for Event Cameras
  18. 人数全球第一,但现在中国的问题不是人太多,而是太少 | 浪潮工作室
  19. 基于51单片机的波形发生器设计(proteus仿真波幅周期可调)
  20. 跨域请求的API接口

热门文章

  1. 【手把手】教你搭建Redis代理分片机制Twemproxy
  2. 如何找回IOS访问限制密码
  3. Word中公式编号对齐问题
  4. java 乘法保留两位小数,Java保留两位小数的方法
  5. Armadillo_OpenBLAS_IntelMKL安装
  6. js判断字符串长度的方法
  7. 互动媒体创意编程——自画像
  8. 六帽理论在会议中的实践
  9. sublime的正则替换
  10. 太变态!还有这样的 Hello World 鬼畜代码