热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

浅析PHP队列

队列的概念和数据结构:队列(Queue)是运算受到限制的一种线性表。只允许在表的一端进行插入,而在另一端进行删除元素的线性表

队列的概念和数据结构:

队列(Queue)是运算受到限制的一种线性表。只允许在表的一端进行插入,而在另一端进行删除元素的线性表。队尾(rear)是允许插入的一端。队头(front)是允许删除的一端。空队列是不含元素的空表。

假设有个队列Q=(a1,a2,…,an),则a1为队头元素,an为队尾元素。元素入队的次序为a1,a2,…,an,而出队的次序为a1,a2,…,an。可见队列的操作是按照先进先出的原则进行的。

PHP的队列:

在PHP中队列以数组的形式表现。数组中的第一个元素作为队头,最后一个元素作为队尾,这样就可以操作这个队列了。

网上有很多封装好的类,可以直接使用。

array_push:将一个或多个单元压入数组的末尾(入栈)

array_unshift:在数组开头插入一个或多个单元

array_pop:将数组最后一个单元弹出(出栈)

array_shift:将数组开头的单元移出数组

Ruby Starling:

Starling是一个支持MemCache协议的轻量级持久化服务器。Starling是让创建网络访问队列或者多个队列异常简单,也就是说多点和多台机器间的异步工作进程。它是著名微博客网站Twitter开发用来处理大量的队列消息,以及保持服务的响应。Starling已经在生产环境中使用,不仅是Twitter在使用,FiveRuns同样在使用。FiveRuns甚至还根据自己的应用做了改进。

Starling和Memcache使用的是一个协议只是端口不一样。Starling使用的是22122端口,Memcache使用的是11211端口。

队列的应用:

队列可以很好地异步处理数据传送和存储,当你频繁地向数据库中插入数据、频繁地向搜索引擎提交数据,就可采取队列来异步插入。另外,还可以将较慢的处理逻辑、有并发数量限制的处理逻辑,通过消息队列放在后台处理,例如FLV视频转换、发送手机短信、发送电子邮件等。

 

转:https://www.cnblogs.com/maggie-php/p/7017538.html



推荐阅读
  • python元组 字典 集合
    1.列表构建栈的数据结构:栈的特点:先进后出#!usrbinenvpython#coding:utf-8stack[]info栈结构1.入栈2.出栈3.栈长度4.栈顶元素5.退出p ... [详细]
  • php到底需要什么(2023年最新分享)
    php到底需要什么(2023年最新分享) ... [详细]
  • 关于 php:drupal 8 使用控制器渲染模板树枝的错误 ... [详细]
  • 返回一个一维数组环中的数相加的最大的和
    项目成员:姜中希、王昭博。1.设计思想:(1)外层while循环控制结束(in)的时候停止。(2)内层计算:按照不循环数组的方式计算,每当外层i增加1,数组更新,第i-1个数变为数 ... [详细]
  • 软件工程:结对编程1
    结对编程人员:徐钧鸿学号12061193李睿琦学号12061187一、结对编程的优点和缺点优点:(1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力。( ... [详细]
  • 面向程序员的数据挖掘指南(八)
    作者:RonZacharski第八章:聚类前几章我们学习了如何构建分类系统,使用的是已经标记好类别的数据集进行训练:训练完成后我们就可以用来预测了:这个人看起来像是篮球运动员,那个 ... [详细]
  • js数据结构与算法队列的实现
    和栈的实现相似,但是这里使用对象的方式,对象的key是数字的实现,类似数组。***队列*classQueue{#count0;队列最大数量#lowestCount0;目前第一个元素 ... [详细]
  • ppt修改默认字体 ... [详细]
  • MongoDB 详细教程,这一篇就够啦
    MongoDB 详细教程,这一篇就够啦 ... [详细]
  • .pyc是个什么鬼?1.Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*. ... [详细]
  • 这篇文章已经有些日子了,现在因为自己的开发需要想选一款容易上手的PHPFramework,所以重新找了出来,看完以后顺便翻译了一下 ... [详细]
  • MaHua是什么?一个在线编辑markdown文档的编辑器向Mac下优秀的markdownd编辑器mou致敬MaHua有哪些功能?方便的导入导出功能直接把一个markdown的文本 ... [详细]
  • Gulp安装及配合组件构建前端开发一体化(转)
    Gulp安装及配合组件构建前端开发一体化所有功能前提需要安装nodejs(本人安装版本v0.10.26)和ruby(本人安装版本1.9.3p484)。Gulp是一款基于任务的设计模 ... [详细]
  • 鼠年到,程序员给您送上祝福!
    鼠年大吉鼠年到,我的问候不但最早,不但最好,还要最诚!我的祝福不但最美,不但最全,还要最灵!提前 ... [详细]
  • rabbitMQ的一些概念的落地与实践操作,借用了php-amqplib对rmq进行操作。内容都是引自于rabbitMQ的官网,所以可以确保可靠性, ... [详细]
author-avatar
手机用户2602901573
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有