##exchange
我跟根据上一节.介绍了.如果要创建一个交换机.则执行通道对象的exchange_declare
创建
代码如
$channel->exchange_declare('TestExchange', 'direct', false, true, false);
那么接下来对这个方法做一下参数说明
首先我们参照类库的代码截图
- $exchange 交换机的名称
-
$type 交换机的类型
这个类型支持三种
Direct 发送给绑定的完全匹配的队列
Fanout 发送过所有绑定的队列.
Topic 发送给所有绑定的而且通过通配符可以匹配的队列.
强烈建议查看下边的参考文献如果搬上来怕一时半会讲不完.
-
$passsive 被动查询
如果你希望查询交换机是否存在.而又不想在查询时创建这个交换机.设置此为true
即可
如果交换机不存在,则会抛出一个错误的异常.如果存在则返回NULL -
$durable 表示了如果MQ服务器重启,这个交换机是否要重新建立
我们的案例代码有点类似于在服务器设立一个数据库内存表,并且每次访问都要判定内存表是否存在.
而如果开启了这个属性,则相当于建了一个永久表.以后直接访问即可.不需要每次都判定是否存在.如同访问MYSQL -
$auto_delete如果绑定的所有队列都不在使用了.是否自动删除这个交换机.
-
$internal 内部交换机.即不允许使用客户端推送消息.MQ内部可以让交换机作为一个队列绑定到另外一个交换机下.想想一下以太网的交换机就是了.所以开启这个属性,表示是一个他直接收其他交换机发来的信息
-
$nowait 如果为True则表示不等待服务器回执信息.函数将返回NULL,可以提高访问速度..应用范围不确定
-
$arguments 额外的一些参数,比如优先级,什么的.需要单独开篇讲
-
ticket 这个参数确实没找到资料.先略过.
出一个表格在整理下
顺序 | 参数名 | 默认值 | 作用 |
---|---|---|---|
1 | $exchange | 无 | 交换机名 |
2 | $type | 无 | 交换机类型 |
3 | $passsive | false | 只判断不创建 |
4 | $durable | false | 重启重建 |
5 | $auto_delete | true | 无用自动销毁 |
6 | $internal | false | 内部交换机 |
7 | $nowait | false | 执行后不需要等结果 |
8 | $arguments | null | 额外的一些参数 |
9 | $ticket | null | 鬼知道干什么用的属性 |
如需转载请注明: 转载自26点的博客
本文链接地址: rabbitMQ消息队列 – exchange解析
转载请注明:26点的博客 » rabbitMQ消息队列 – exchange解析