Redis Stream 的一点理解
2021/12/28 2:08:34
本文主要是介绍Redis Stream 的一点理解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用Redis实现了一个系统之间解耦的demo, 采用了 StackExchange.Redis C#类库, 实现代码非常简单, 加深了对于 redis stream的理解.
Redis Stream | Redis Pubsub | |
消费模式(推拉) |
消费者采用拉模式 消费者端采用短时轮询机制拉取消息 |
将消息推送到消费者端 |
吞吐量 | 拉模式下吞吐量会更好 | 推模式下吞吐量差一些 |
延迟 | 拉模式的延迟较大 | 推模式延迟很小 |
多播 | 支持, 而且支持类似 kafka的consumer group 概念 | 支持, 同一个消息会推送到多个客户端, 即fanout |
持久化 | 支持 | 不支持, 所以有可能会丢消息 |
acknowledge机制 | 支持 | 因为是push模式, 所以不需要 |
消息可靠性范式 | at most once | fire and forget |
方案 | 使用场景 |
Redis Stream |
实时性要求不太的高的系统之间解耦情形. 特点是: 轻量级方案 |
Redis Pubsub |
没有什么太适合的场景. |
RabbitMQ |
全功能的MQ 1. 适合于实时性和可靠性要求都高的系统之间解耦, 采用push模式 2. 适合于实时性要求不太高的系统之间解耦, 采用pull 模式. |
Kafka | 适合于数据集成或大数据类项目, 实时性要求不高, 吞吐量要求很高 |
================================
参考
================================
redis 官网上的博客, 讲解一些基本概念和使用场景
https://redis.com/blog/what-to-choose-for-your-synchronous-and-asynchronous-communication-needs-redis-streams-redis-pub-sub-kafka-etc-best-approaches-synchronous-asynchronous-communication/
What are the main differences between Redis Pub/Sub and Redis Stream?
https://stackoverflow.com/questions/59540563/what-are-the-main-differences-between-redis-pub-sub-and-redis-stream
#yyds干货盘点#Redis之Stream
https://blog.51cto.com/u_13649800/4703619
#yyds干货盘点# Redis真的可以做MQ消息队列吗?
https://blog.51cto.com/u_11440114/4584094
基于Redis的Stream类型的完美消息队列解决方案基于Redis的Stream类型的完美消息队列解决方案
https://zhuanlan.zhihu.com/p/60501638
C# stackexchange.redis 类库官网
https://stackexchange.github.io/StackExchange.Redis/
这篇关于Redis Stream 的一点理解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识