RabbitMQ持久化

文章介绍了RabbitMQ中消息持久化的概念和重要性,包括队列、消息和交换机的持久化设置。持久化确保了即使在内存不足或服务器重启后,信息仍能保存。队列持久化通过durable参数实现,消息持久化依赖deliveryMode属性,交换机持久化则在定义时设置。
摘要由CSDN通过智能技术生成

1.概念

        持久化就把信息写入到磁盘的过程,把消息默认放在内存中是为了加快传输和消费的速度,存入磁盘是保证消息数据的持久化。

2.RabbitMQ持久化和非持久化的区别

   ​​​​​      持久化的消息会全部写入磁盘,非持久化的消息会在内存不足的情况下写入磁盘。

3.持久化分类

        (1)队列持久化

//队列的持久化是定义队列时的durable参数来实现的,Durable为true时,队列才会持久化。
// 参数1:名字  
// 参数2:是否持久化,
// 参数3:独du占的queue, 
// 参数4:不使用时是否自动删除,
// 参数5:其他参数
channel.queueDeclare(queueName,true,false,false,null);

         (2)消息持久化

//消息持久化是通过消息的属性deliveryMode来设置是否持久化,在发送消息时通过basicPublish的参数传入。
// 参数1:交换机的名字
// 参数2:队列或者路由key
// 参数3:是否进行消息持久化
// 参数4:发送消息的内容
channel.basicPublish(exchangeName, routingKey1, MessageProperties.PERSISTENT_TEXT_PLAIN, message.getBytes());

        (3)交换机持久化

//和队列一样,交换机也需要在定义的时候设置持久化的标识,否则在rabbit-server服务重启以后将丢失。
// 参数1:交换机的名字
// 参数2:交换机的类型,topic/direct/fanout/headers
// 参数3:是否持久化
channel.exchangeDeclare(exchangeName,exchangeType,true);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值