rabbitmq 如何刪除隊列中的消息

對於rabbitmq刪除隊列消息,有下面幾種方式:

 1. rabbitmqctl --node rabbit@node --vhost testVHost purge_queue testQueue

           該方式是命令行刪除,等同於web ui管理界面的點擊testQueue隊列 -> Purge (Purge Message),該方式能刪除所有ready的消息,對於unacked消息無法刪除。如果需要刪除unacked消息,需要將該隊列上的所有消費者停止,unacked消息會自動變爲ready消息,此時通過purge_queue命令可以刪除

 2. rabbitmqctl reset命令

          該方式需要執行如下命令:

          rabbitmqctl stop_app  ->  rabbitmqctl reset ->  rabbitmqctl start_app

          注意此方式,會同時清除一些配置信息,需要慎用。

 3. rabbitmqctl delete_queue刪除隊列,然後重建

       該方式就是將隊列刪除,重新建一個,煎蛋很粗暴。

 4. 代碼方式實現,在消費到消息後,可以自動或者手動ack消息,對於ack確認後的消息會從隊列中清除

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章