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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
php合并js请求的例子
Nov 01 PHP
curl实现站外采集的方法和技巧
Jan 31 PHP
php使用array_rand()函数从数组中随机选择一个或多个元素
Apr 28 PHP
PHP使用CURL_MULTI实现多线程采集的例子
Jul 29 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
PHP中Array相关函数简介
Jul 03 PHP
php微信分享到朋友圈、QQ、朋友、微博
Feb 18 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 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
雄兵连:第三季确定会出,不过时间未定,鹤熙是第三季的主角!
2020/03/13 国漫
php生成短网址示例
2014/05/05 PHP
php用户注册时常用的检验函数实例总结
2014/12/22 PHP
简述php环境搭建与配置
2016/12/05 PHP
Javascript Select操作大集合
2009/05/26 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
JS防止网页被嵌入iframe框架的方法分析
2016/09/13 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
pycharm 使用心得(三)Hello world!
2014/06/05 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
浅谈Django的缓存机制
2018/08/23 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
2019/08/05 Python
python实现人工智能Ai抠图功能
2019/09/05 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
大学生军训自我评价分享
2013/11/09 职场文书
初一学生期末评语
2014/04/24 职场文书
学生保证书范文
2014/04/28 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
2014教师教育实践活动对照检查材料思想汇报
2014/09/21 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
python常见的占位符总结及用法
2021/07/02 Python