本篇文章给大家带来的内容是关于在什么情况下使用队列,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

队列的最主要用途是异步任务和通信两个方面

异步的思路主要用来缓解瞬间压力、耗时操作、并行任务等

1. 缓解瞬间压力:若系统每秒处理能力是100请求,而最高峰值可能达到每秒1000请求,若不采用队列,很有可能会出现服务不可用或者长时间等待。此时可以用队列将未能成功执行的请求放入队列,顺序执行,直到所有请求都被处理

2. 耗时操作:缩略图生成

3. 并行任务:发贴后通知所有的好友

通信的思路主要用来解决在不同的独立模块或者系统之间相互同步数据、通知执行某些操作

耗时的操作,且业务需求允许的情况下,都可以放到异步队列中,比如

1.发微博,把微博推送到你的好友收件箱(假定采用的是推的方式),类似的还有feed

2.上传图片要生成不同尺寸的缩略图

3.发帖子的同时,利用百度知道api同步一份到百度知道

4.群发邮件

php在什么方面使用使用队列,你知道在什么情况下使用队列吗?相关推荐

  1. 栈和队列的特点,什么情况下使用?

    栈和队列的特点,什么情况下使用? 栈:先进后出的结构. 队列:先进先出的结构. 栈的应用:非常广泛,在CPU内部就有提供栈这个机制.主要用途:函数调用和返回,数字转字符,表达式求值,走迷宫等等.在CP ...

  2. 第十四节: 介绍四大并发集合类并结合单例模式下的队列来说明线程安全和非安全的场景及补充性能调优问题。...

    一. 四大并发集合类 背景:我们目前使用的所有集合都是线程不安全的 . A. ConcurrentBag:就是利用线程槽来分摊Bag中的所有数据,链表的头插法,0代表移除最后一个插入的值. (等价于同 ...

  3. 第十四节: 介绍四大并发集合类并结合单例模式下的队列来说明线程安全和非安全的场景及补充性能调优问题。

    一. 四大并发集合类 背景:我们目前使用的所有集合都是线程不安全的 . A. ConcurrentBag:就是利用线程槽来分摊Bag中的所有数据,链表的头插法,0代表移除最后一个插入的值. (等价于同 ...

  4. 介绍四大并发集合类并结合单例模式下的队列来说明线程安全和非安全的场景及补充性能调优问题。

    一. 四大并发集合类 背景:我们目前使用的所有集合都是线程不安全的 . A. ConcurrentBag:就是利用线程槽来分摊Bag中的所有数据,链表的头插法,0代表移除最后一个插入的值. (等价于同 ...

  5. redis php异步队列,基于workerman的redis-queue实现异步邮件队列

    实验场景:页面被客户访问发送邮件通知到我的邮箱,该场景只是为了测试,下单发送邮件或者短信的场景都是一样的,为了体现出来队列的优越性,我自己封装了个邮件发送的接口,接口内部实现增加了sleep(5),纯 ...

  6. 多重背包单调队列优化思路_多重背包之单调队列优化理论性总结

    多重背包之单调队列优化: 若用F[j]表示对容量为j的背包,处理完前i种物品后,背包内物品可达到的最大总价值,并记m = min(n, j / v).放入背包的第i种物品的数目可以是:0.1.2--, ...

  7. redis延迟消息队列不准时php,Redis实现延迟消息队列

    消息队列是应用中常用的一个技术点,通常我们可以借助消息队列中间件来实现,但是并不是所有的情况下,都需要使用到MQ. 如果只需要实现简单的消息队列,那么借助Redis即可. 如果对消息有着严格的可靠性等 ...

  8. python 多进程——使用进程池,多进程消费的数据)是一个队列的时候,他会自动去队列里依次取数据...

    我的mac 4核,因此每次执行的时候同时开启4个线程处理: # coding: utf-8import time from multiprocessing import Pooldef long_ti ...

  9. 无RTOS下使用队列出现的问题记录

    这两天遇到一个问题,在无RTOS情况下,使用队列缓存串口接收到的数据,发现跑一段时间后,会出现队列中*Out和*In在NData为0时不一样.正常情况,当数据全部读取完毕后,这两个地址应该是一致的.后 ...

最新文章

  1. iis日志php,win2008 iis7开启日志按日期分割
  2. Java黑皮书课后题第11章:11.1(Triangle类)设计一个名为Triangle的类来继承GeometricObject类。该类包括:
  3. log4j中用变量配置日志输出文件位置
  4. 多数公司容易犯的5个大数据错误
  5. Jquery的jqzoom插件的使用(图片放大镜)
  6. Google Volley框架源码走读
  7. linux/unix 上那些炫酷的命令行工具(一)
  8. 计算机视觉实战(十五)背景建模 (附完整代码)
  9. arduino串口绘图_写了一个串口实时曲线绘制软件,分享给大家。不好轻拍
  10. 电脑的热点手机连接不上怎么办
  11. 适合程序员的英文名字
  12. 贴片LED发光二极管的组成成分和正负极方向判断 LED灯伏安曲线怎么看(电流电压关系)
  13. 国产系统之光deepin之Java开发环境安装实录
  14. java消除噪声数据,高光谱图像去噪相关资源汇总(常用对比算法+数据集+评价指标)...
  15. MATLAB:DTFT、DFT 相关题目学习
  16. python删除重复单词_Python - 过滤重复的单词
  17. 【ACM- OJ】《六度分离》C++
  18. jsp文件木马代码分析
  19. MATLAB | 艺术就是画圈圈
  20. 微信小程序前端各种酷炫的动画特效实例,这一篇就够了,复制开箱就用,赶快收藏好了

热门文章

  1. 多个线程访问统一对象的不同方法_不会多线程还想进BAT?精选19道多线程面试题,有答案边看边学...
  2. 电商网站模板_阿里云建站:模板建站与定制建站怎么选(小白参考)
  3. c语言 if 按大小顺序排序,刚学c语言,老师让用if编一个五个数字从大到小的排序,有那个大神能帮我,谢谢啦...
  4. opengl编程指南第8版源码编译详细说明
  5. Android开发之EdittText输入0开头金额的限制算法
  6. ejabberd登陆不成功的解决方案
  7. 解决配置Ubuntu中vnc远程显示灰屏
  8. 如何成为呼叫中心客服老司机
  9. Udp广播的发送和接收(iOS + AsyncUdpSocket)下篇
  10. 用samba服务构建基于企业级的文件共享服务