Redis stream消费组就一个消费者,前一个消息不消费,后面消息还会继续消费么
时间: 2024-04-03 19:37:08 浏览: 25
是的,Redis Stream消费组中只有一个消费者时,前一个消息不被消费,后续消息仍然会被消费。这是因为Redis Stream使用消息的ID来维护消息状态,消费者消费的最后一个消息ID会被记录下来,后续消息会从该ID的下一个消息开始消费。如果消费者没有消费前一个消息,该消息的ID就不会被记录下来,后续消息仍然会从该ID开始被消费。
相关问题
Redis stream消费组就一个消费者,RedsStream前一条消息已消费,没有ack,后面消息会继续投递吗
Redis Stream的消费组模式中,如果消费组只有一个消费者,且前一条消息已经被消费者接收但未发送ACK确认,则后面的消息不会被投递给该消费者。Redis会认为前一条消息仍然未被消费,不会将后面的消息发送给该消费者,直到该消费者发送ACK确认前一条消息已被消费。只有在消费者发送ACK确认后,Redis才会将下一条消息发送给该消费者。
redis stream 队列 同一个消费者消费后没有ack,会消费后面的消息吗
Redis Stream 是一个支持多个消费者的持久化消息队列,它可以在多个消费者之间分配消息以实现消息的并行处理。对于同一个消费者,如果它消费了一个消息但没有发送 ACK 消息确认,那么该消息将被视为“未确认”,并且 Redis 会尝试重新分配该消息给其他可用的消费者。
具体来说,当一个消费者消费了消息但没有发送 ACK 消息确认时,Redis Stream 会将该消息标记为“未确认”状态,并将其添加到一个专门的 Pending List 中。如果在一段时间后(默认为 5000 毫秒)该消息仍然处于“未确认”状态,Redis 会将其重新分配给其他可用的消费者。
如果没有其他可用的消费者,则该消息将一直保留在 Pending List 中,直到某个消费者确认消息或者消息超时(默认为 30000 毫秒)后被自动确认。在这种情况下,未确认的消息不会被消费,因此不会影响后续消息的处理。
总之,对于同一个消费者而言,它没有确认某个消息不会影响后续消息的处理。Redis Stream 会将未确认的消息重新分配给其他可用的消费者,确保所有消息都被及时处理。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)