关于rabbitmq消息持久性机制的问题

关于rabbitmq消息持久性机制的问题,rabbitmq,amqp,rabbitmq-exchange,Rabbitmq,Amqp,Rabbitmq Exchange,我正在读书,我有一些问题 我知道队列可以是持久的,也可以不是持久的,消息也可以分为两类:持久的或暂时的 正如文档所说:持久消息到达队列后将立即写入磁盘 因此,以下是我的问题: 如果我发送了一条消息,但该消息未分发到任何队列, 消息是否会持久 如果队列是非持久性的,消息(持久性或暂时性,而不是 当队列被删除时,是否从磁盘中删除 如果消息被使用,rabbitmq是否从中删除此消息 物理存储 如果您有任何关于如何测试这些条件的想法,我们将不胜感激 如果我发送了一条消息,但该消息没有分发到任何队列,那么

我正在读书,我有一些问题

我知道队列可以是持久的,也可以不是持久的,消息也可以分为两类:持久的或暂时的

正如文档所说:持久消息到达队列后将立即写入磁盘

因此,以下是我的问题:

  • 如果我发送了一条消息,但该消息未分发到任何队列, 消息是否会持久
  • 如果队列是非持久性的,消息(持久性或暂时性,而不是 当队列被删除时,是否从磁盘中删除
  • 如果消息被使用,rabbitmq是否从中删除此消息 物理存储
  • 如果您有任何关于如何测试这些条件的想法,我们将不胜感激

    如果我发送了一条消息,但该消息没有分发到任何队列,那么该消息是否会持久化

    否,请参见
    必填项
    ,以处理无法发送的消息

    如果队列是非持久性的,那么在删除队列时,是否会从磁盘中删除消息(持久性或暂时性,未被使用)

    如果消息被使用,rabbitmq是否从物理存储中删除此消息

    当消息被使用且状态为
    unacked
    时,消息不会被删除

    当您发送
    ack
    nack
    时,消息将从内存/磁盘中删除