RabbitMQ消息队列-创建消息队列时的参数详解

2018-11-29 21:00:00    赵勤松    2526    原创
摘要: RabbitMQ消息队列在创建时,了解各个参数的作用,是非常有必要的,下面从php-amqplib库的角度,来分析各个参数的意义

php-amqplib使用AMQPChannel类的queue_declare函数来生成一个消息队列,其函数的完整定义为

      public function 
      queue_declare(
      $queue 
      = 
      ''
      , 
       
      $passive 
      = 
      false
      , 
       
      $durable 
      = 
      false
      , 
       
      $exclusive 
      = 
      false
      , 
       
      $auto_delete 
      = 
      true
      , 
       
      $nowait 
      = 
      false
      , 
       
      $arguments 
      = 
      array
      (), 
       
      $ticket 
      = 
      null
      )

各个函数的详细说明,请看下表

参数 默认值 详细说明
$queue
字符串,"" 队列名称,唯一
$passive false 被动模式,为true时,如果$queue不存在,则返回错误(不创建队列,只是检测队列是否存在),为false时,如果$queue不存在,则创建此队列,然后返回OK
$durable
false 队列永久化,为true时,消息将存入数据库,即使服务崩溃,消息也不会消失
$exclusive false 排他性,为true时,只能在本次连接中使用,连接关闭时自动消亡(即使$durable为true也是)
$auto_delete true 自动消亡,为true时,当队列不再有订阅者时,会自动消亡
$nowait false 异步执行,为true时,不等待队列创建结果,立即完成函数调用
$arguments array() 设定消息队列的额外参数,如存活时间等
$ticket null 传0或null即可





京ICP备15015023号-1
蝉知7.4.1