PHP消息队列用法实例分析


Posted in PHP onFebruary 12, 2016

本文实例讲述了PHP消息队列用法。分享给大家供大家参考,具体如下:

该消息队列用于linux下,进程通信

#根据路径和后缀创建一个id
$key = ftok(__DIR__, 'R');
#获取队列中的消息
$q = msg_get_queue($key);
#删除队列
msg_remove_queue($q);
#获取队列的状态信息
$status = msg_stat_queue($q);
print_r($status);
echo "\n";
for($i=0;$i<100;$i++)
{
  /**
   * 向队列里添加消息 
   * resource $queue , int $msgtype , mixed $message [, bool $serialize = true [, bool $blocking = true [, int &$errorcode ]]]
   * $msgtype :消息的类型
   * $message : 具体的数据
   * $serialize:是否要序列化
   * $blocking: 是否阻塞 , 当队列中满时,会进行阻塞,设为非阻塞会产生一个 MSG_EAGAIN 的 错误消息
   */
  $flag = msg_send($q, 111, array('a'=>1), true, false , $errorcode);
  var_dump($errorcode);
}
/**
接收消息
resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags = 0 [, int &$errorcode ]]] 
$desiredmsgtype:0表示从队列最前面开始返回数据, bigger 0:具体的某个队列
$maxsize:数据最大值,获取的消息如果》此值则出错
$msgtype:消息的具体类型, 因为$desiredmsgtype可以不指定类型,即指定为0
$flags:MSG_IPC_NOWAIT 如果队列为空直接返回(不阻塞), MSG_EXCEPT MSG_NOERROR 参见手册
*/
$data = msg_receive($q, 0, $type, 200, $msg);
var_dump($data);
echo "\n";
var_dump($type);
echo "\n";
var_dump($msg);
echo "\n";

队列状态信息:具体参考手册

Array
(
[msg_perm.uid] => 1015
[msg_perm.gid] => 100
[msg_perm.mode] => 438
[msg_stime] => 0
[msg_rtime] => 0
[msg_ctime] => 1411830331
[msg_qnum] => 0
[msg_qbytes] => 65536
[msg_lspid] => 0
[msg_lrpid] => 0
)

linux下 用 ipc命令查看 ,用 ipcrm 命令可以删除

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP读取IMAP邮件
Oct 09 PHP
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
第四章 php数学运算
Dec 30 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
PHP简单判断手机设备的方法
Aug 23 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
PHP长网址与短网址的实现方法
Oct 13 PHP
详解PHP字符串替换str_replace()函数四种用法
Oct 13 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 PHP
PHP共享内存用法实例分析
Feb 12 #PHP
PHP连接MSSQL方法汇总
Feb 05 #PHP
Symfony2开发之控制器用法实例分析
Feb 05 #PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 #PHP
PHP MYSQL实现登陆和模糊查询两大功能
Feb 05 #PHP
twig模板获取全局变量的方法
Feb 05 #PHP
twig里使用js变量的方法
Feb 05 #PHP
You might like
php实现ping
2006/10/09 PHP
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php实现当前页面点击下载文件的实例代码
2016/11/16 PHP
php常用的工具开发整理
2019/09/26 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Div Select挡住的解决办法
2008/08/07 Javascript
Javascript学习笔记5 类和对象
2010/01/11 Javascript
JS自动缩小超出大小的图片
2012/10/12 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
详解python开发环境搭建
2016/12/16 Python
详解python uiautomator2 watcher的使用方法
2019/09/09 Python
快速解决Django关闭Debug模式无法加载media图片与static静态文件
2020/04/07 Python
python中怎么表示空值
2020/06/19 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
小学生作文评语大全
2014/04/21 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
团组织推荐意见
2015/06/05 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
python+opencv实现视频抽帧示例代码
2021/06/11 Python