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 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
杏林同学录(八)
Oct 09 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 PHP
php explode函数实例代码
Feb 27 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
destoon二次开发入门示例
Jun 20 PHP
php中的动态调用实例分析
Jan 07 PHP
利用PHP获取网站访客的所在地位置
Jan 18 PHP
laravel5.1 ajax post 传值_token示例
Oct 24 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之字符串变相相减的代码
2007/03/19 PHP
php文档更新介绍
2011/07/22 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
PHP队列用法实例
2014/11/05 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
初识ThinkPHP控制器
2016/04/07 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
安踏官方商城:anta.cn
2019/12/16 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
平面设计求职信
2014/03/10 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
你会写请假条吗?
2019/06/26 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
无线电知识基础入门篇
2022/02/18 无线电
vue实现Toast组件轻提示
2022/04/10 Vue.js