整理和总结:基于PHP的消息队列HTTPSQS

  • 什么是HTTPSQS?

    HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务,使用 Tokyo Cabinet 的 B+Tree Key/Value 数据库来做数据的持久化存储。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP协议的编程语言均可调用。

  • 消息队列作用

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

  • HTTPSQS 特征

    HTTPSQS 具有以下特征:
    1、非常快速,入队列、出队列速度超过10000次/秒。
    高并发,支持上万的并发连接,C10K不成问题。
    支持多队列。
    2、单个队列支持的最大队列数量高达10亿条。
    3、低内存消耗,海量数据存储,存储几十GB的数据只需不到100MB的物理内存缓冲区。
    4、可以在不停止服务的情况下便捷地修改单个队列的最大队列数量。
    5、可以实时查看队列状态(入队列位置、出队列位置、未读队列数量、最大队列数量)。
    6、可以查看指定队列ID(队列点)的内容,包括未出、已出的队列内容。
    7、查看队列内容时,支持多字符集编码。
    8、源代码不超过700行,整个软件不超过900KB,适合二次开发。

  • 结合PHP的HTTPSQS简单例子
    PHP生产者:

include_once("httpsqs_client.php");
$httpsqs = new httpsqs('127.0.0.1');
$name = 'flux';
$val = '放入第一个内容';
$httpsqs->put($name, $val);

PHP消费者:

include_once("httpsqs_client.php");
$httpsqs = new httpsqs('127.0.0.1');
$name = 'flux';
while (1) {
$data = $httpsqs->get($name);
if ($data == false) { // 没有数据
sleep(1);
} else { // 处理业务
print_r($data);
}}

最后推荐一个公众号,一枚IT技术人成长路上关于生活和职场的思考,欢迎书友们前来交流和分享心得

在这里插入图片描述

福利~ 福利~ 福利~ 1块钱一次帮下CSDN资料

添加微信,备注下载资料~所需下载CSDN资料链接可通过微信发送。
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值