Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从RabbitMQ队列检索消息_Php_Queue_Message Queue_Rabbitmq_Amqp - Fatal编程技术网

Php 从RabbitMQ队列检索消息

Php 从RabbitMQ队列检索消息,php,queue,message-queue,rabbitmq,amqp,Php,Queue,Message Queue,Rabbitmq,Amqp,我希望在我的PHP应用程序中实现RabbitMQ,并使用PHP amqp扩展。我唯一的问题是,如何用PHP轻松查询以返回队列的内容 php amqp似乎无法让我做到这一点。如果我做错了,请在这里帮我:)詹姆斯,你能问一下关于拉比的这个问题吗?您的问题涉及“查询”队列以获取消息的含义。在RabbitMQ中,您使用队列中的消息,并使用队列绑定执行过滤。看看这个介绍- 干杯 亚历克西斯 RabbitMQ如果需要知道队列中有多少消息,可以在声明队列时获取此信息,或者使用basic.get检索单个消息。通

我希望在我的PHP应用程序中实现RabbitMQ,并使用PHP amqp扩展。我唯一的问题是,如何用PHP轻松查询以返回队列的内容


php amqp似乎无法让我做到这一点。如果我做错了,请在这里帮我:)

詹姆斯,你能问一下关于拉比的这个问题吗?您的问题涉及“查询”队列以获取消息的含义。在RabbitMQ中,您使用队列中的消息,并使用队列绑定执行过滤。看看这个介绍-

干杯

亚历克西斯
RabbitMQ

如果需要知道队列中有多少消息,可以在声明队列时获取此信息,或者使用
basic.get
检索单个消息。通常情况下,邮件的收件人会使用
basic.consumer
,他们不知道有多少邮件在等待。

此类问题更多的是关于AMQP的一般概念

在AMQP(以及与AMQP兼容的代理RabbitMQ)中,队列是典型的FIFO队列。队列不是通常用于任意项访问的数据类型,RabbitMQ此时不提供任何绕过FIFO概念并允许此类访问的方法。至少是开箱即用。可能有任何第三方插件,但我不知道有任何此类插件。再一次,它将破坏整个FIFO概念,它只是成为一些新的redis或其他东西,甚至不谈论性能影响(人们可以检查常见数据结构操作的复杂性,即使是这个问答,也给出了为什么添加任意访问不是AMQP或任何关心性能的AMQP兼容代理的目标的简要想法)

关于任意队列访问的大多数问题都是在队列被置于错误的上下文中时出现的:可能是队列概念不适合当前或所需的体系结构,或者某些键值存储或数据库更好