细心的你可能发现了,本系列课程中竟然出现了三个课时都是在说消息队列,讲了程序级别的消息队列以及延迟消息队列的实现,又讲了常见的消息队列中间件 RabbitMQ、Kafka 等,由此可见消息队列在整个 Java 技术体系中的重要程度。本课时我们将重点来看一下 Redis 是如何实现消息队列的。
我们本课时的面试题是,在 Redis 中实现消息队列的方式有几种?
回答:
早在 Redis 2.0 版本之前使用 Redis 实现消息队列的方式有两种:
使用 List 类型实现
使用 ZSet 类型实现
其中使用** List 类型实现的方式最为简单和直接**,它主要是通过 lpush、rpop 存入和读取实现消息队列的,如下图所示:
lpush 可以把最新的消息存储到消息队列(List 集合)的首部,而 rpop 可以读取