RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

TTL队列及消息介绍

本文是《RabbitMQ精讲系列》中第十六篇:RabbitMQ消息中间件技术精讲16 高级篇九 TTL队列及消息。如果想学习RabbitMQ的朋友建议从第一篇开始看起。

TTL:

    TTL是Time To Live的缩写,也就是生存时间。也就是说RabbitMQ支持消息的过期时间,在消息发送的时候可以对过期时间进行指定;

同时RabbitMQ支持队列的过期时间,从消息入队列开始计算,超过了队列的超时时间配置,那么消息就会自动清除。

今天这篇文章,咱们就不用写代码演示。使用页面的方式进行配置发送消息。

登陆到页面管控台:

先创建一个队列queue.

设置队列名称为:test002

给arguments设参数:

x-max-length:最大长度。我们设置3000

x-message-ttl:设置超时时长。我们设置10000毫秒,也就是10秒。

具体如下图:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

设置完成之后,我们点击Add.之后,在queues的列表中就可以看到,我们创建的test002队列。如下图:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息


接下来,我们创建交换机exchange:

设置name为:test002_texchange

设置类型type为:topic

设置Durability为durable.持久化

如下图:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

设置完成之后,点击保存。我们可以在exchanges的列表中看到刚才创建的test002_exchange的交换机。如下图:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

接着我们绑定交换机和队列的关系。

点击我们创建的队列,添加绑定

选择To queue值为我们上一步创建的队列名称:test002

设置routing key为ttl.#.

如下图:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

点击bind之后,我们就可以看到绑定关系了。如下图:


RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

接着我们来发送消息。

点击test002-exchange,我们可以看到Publish message.就可以在页面发送消息了。

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

我们进行设置:

可以看到在properties这个属性中,我们需要的都有的。

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

设置Routing key:ttl.abcd

设置Delivery mode:2-persistent。持久化

然后设置消息,Payload。

设置完成如下图:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

点击publish message后:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

发送成功。

我们看看队列:test002中已经有一条消息了。如下图:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

我们等待10秒,发现消息自动消失了。如下:

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

下节我们讲解:死信队列

凯哥公众号:凯哥Java(kaigejava)

上一篇:Redlock(redis分布式锁)原理分析


下一篇:Redis中exists、ttl、setex、setnx、set、getset等常用命令