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 header()函数使用说明
Jul 10 PHP
php面向对象中的魔术方法中文说明
Mar 04 PHP
zf框架的session会话周期及次数限制使用示例
Mar 13 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
PHP中快速生成随机密码的几种方式
Apr 17 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
Apr 04 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
Mar 09 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中DOMElement操作xml文档实例演示
2013/03/26 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
重定向实现代码
2006/11/20 Javascript
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
Vue中插入HTML代码的方法
2018/09/21 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Python实现微信机器人的方法
2019/09/06 Python
通过cmd进入python的步骤
2020/06/16 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
canvas基础之图形验证码的示例
2018/01/02 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
采购部长岗位职责
2014/06/13 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
Go timer如何调度
2021/06/09 Golang
Python 键盘事件详解
2021/11/11 Python
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL