栏目导航:首页 > 网络编程 > PHP编程 > 内容 在线投稿

队列在编程中的实际应用

一:队列的概念、数据结构

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

本文来自墨者资讯

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

copyright cnmoker.orrg

本文转载自墨者资讯网 墨者资讯网

其他详细的介绍请在网上搜索很多资料。 最好的it资讯站,最全面的it资讯,尽在墨者资讯网

二:PHP的队列 内容来自墨者资讯

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

cnmoker.org

结果就是 本文转载自墨者资讯网 墨者资讯网

cnmoker.org

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

内容来自墨者资讯

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

本文转载自www.cnmoker.org 墨者资讯网

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

本文转载自www.cnmoker.org 墨者资讯网

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

内容来自墨者资讯

array_shift:将数组开头的单元移出数组 本文转载自www.cnmoker.org 墨者资讯网

三:Ruby Starling 本文转载自墨者资讯网 墨者资讯网

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

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

本文转载自www.cnmoker.org 墨者资讯网

Ruby tar xzvf ruby-1.9.1-p0.tar.gz cd ruby-1.9.1-p0 ./configure --prefix=/usr/local/huiyangruby make make install   Gem tar -zxvf rubygems-1.3.6.tgz cd rubygems-1.3.6 ruby setup.rb   Starling gem install memcache-client starling starling starling & //后台执行 starling_top //查看PS信息

cnmoker.org

接下来你就可以使用队列做自己的事情啦。Starling和Memcache用法一样,两者配合处理更佳。 最好的it资讯站,最全面的it资讯,尽在墨者资讯网

内容来自墨者资讯

使用Memcache::addServer可以建立一个memcache连接池。他不同于connect与pconnect他是在有请求是才连接,无则端口连接。 cnmoker.org

Memcache::connect -- 打开一个到Memcache的连接。

cnmoker.org

Memcache::pconnect -- 打开一个到Memcache的长连接。 内容来自墨者资讯

Memcache::close -- 关闭一个Memcache的连接。

内容来自墨者资讯

Memcache::set -- 保存数据到Memcache服务器上。 本文转载自www.cnmoker.org 墨者资讯网

Memcache::get -- 提取一个保存在Memcache服务器上的数据。 本文转载自www.cnmoker.org 墨者资讯网

Memcache::replace -- 替换一个已经存在Memcache服务器上的项目(功能类似Memcache::set)。

本文来自墨者资讯

Memcache::delete -- 从Memcache服务器上删除一个保存的项目。 本文转载自www.cnmoker.org 墨者资讯网

Memcache::flush -- 刷新所有Memcache服务器上保存的项目(类似于删除所有的保存的项目)。 最好的it资讯站,最全面的it资讯,尽在墨者资讯网

Memcache::getStats -- 获取当前Memcache服务器运行的状态。

墨者资讯www.cnmoker.org

四:张宴作品HTTPSQS

最好的it资讯站,最全面的it资讯,尽在墨者资讯网

HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储。 最好的it资讯站,最全面的it资讯,尽在墨者资讯网

有兴趣的可以看看网址:http://blog.s135.com/httpsqs_1_2/

本文转载自墨者资讯网 墨者资讯网

五:队列的应用 墨者资讯,最新资讯

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

墨者资讯www.cnmoker.org

我的博客:http://hi.baidu.com/phper_yang (http://www.phpx.in PHP交流)

本文转载自墨者资讯网 墨者资讯网

墨者资讯www.cnmoker.org

来源:墨者资讯网-我们致力于做最全面的it资讯信息资料库
    TAG: 实际 Memcache 队列 Sta 应用 一个 使用 编程
    评论 | 推荐 | 挑错 | 责编:admin | 时间: 2011-04-13
    上一篇:提高PHP编程效率的53个要点 下一篇:php生成随机密码的几种方法