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 相关文章推荐
优化NFR之一 --MSSQL Hello Buffer Overflow
Oct 09 PHP
WHOIS类的修改版
Oct 09 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
php htmlspecialchars加强版
Feb 16 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
PHP上传文件时自动分配路径的方法
Jan 09 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
Mar 05 PHP
php实现微信发红包
Dec 05 PHP
详细解读php的命名空间(二)
Feb 21 PHP
详解laravel安装使用Passport(Api认证)
Jul 27 PHP
Laravel使用原生sql语句并调用的方法
Oct 09 PHP
Yii2框架中一些折磨人的坑
Dec 15 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/06 日漫
生成php程序的php代码
2008/04/07 PHP
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
2017/05/11 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
Python守护进程用法实例分析
2015/06/04 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
茵宝(Umbro)英国官方商店:英国足球服装生产商
2016/12/29 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
经典英文广告词
2014/03/18 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
施工安全责任书范本
2014/07/24 职场文书
经济贸易系求职信
2014/08/04 职场文书
酒店端午节活动方案
2014/08/26 职场文书
领导班子奢靡之风查摆问题及整改措施
2014/09/27 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
网络营销实训总结
2015/08/03 职场文书
趣味运动会标语口号
2015/12/26 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL