java进阶篇--Redis中实现消息队列的方式有几种,如何实现?

细心的你可能发现了,本系列课程中竟然出现了三个课时都是在说消息队列,讲了程序级别的消息队列以及延迟消息队列的实现,又讲了常见的消息队列中间件 RabbitMQ、Kafka 等,由此可见消息队列在整个 Java 技术体系中的重要程度。本课时我们将重点来看一下 Redis 是如何实现消息队列的。

我们本课时的面试题是,在 Redis 中实现消息队列的方式有几种?

回答:

早在 Redis 2.0 版本之前使用 Redis 实现消息队列的方式有两种:

    使用 List 类型实现
    使用 ZSet 类型实现

其中使用** List 类型实现的方式最为简单和直接**,它主要是通过 lpush、rpop 存入和读取实现消息队列的,如下图所示:

java进阶篇--Redis中实现消息队列的方式有几种,如何实现?_第1张图片

lpush 可以把最新的消息存储到消息队列(List 集合)的首部,而 rpop 可以读取消息队列的尾部,这样就实现了先进先出,如下图所示:

你可能感兴趣的:(Java源码剖析(30讲),redis实现消息队列,消息队列,4种实现消息队列方法)