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 上传文件的方法(类)
Jul 30 PHP
JavaScript创建命名空间的5种写法
Jun 24 PHP
PHP实现定时执行任务的方法
Oct 05 PHP
php数组保存文本与文本反编成数组实例
Nov 13 PHP
orm获取关联表里的属性值
Apr 17 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
详解在YII2框架中使用UEditor编辑器发布文章
Nov 02 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 PHP
PHP基于array_unique实现二维数组去重
Jul 14 PHP
PHP使用QR Code生成二维码实例
Jul 07 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
神族 PROTOSS 概述
2020/03/14 星际争霸
我用php+mysql写的留言本
2006/10/09 PHP
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
PHP基本语法实例总结
2016/09/09 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
jQuery AjaxUpload 上传图片代码
2016/02/02 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
python绘制立方体的方法
2018/07/02 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
python实现密码验证合格程序的思路详解
2020/06/01 Python
python爬取微博评论的实例讲解
2021/01/15 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
家长会演讲稿范文
2014/01/10 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
中学生运动会广播稿
2015/08/19 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android