Redis5.0中的stream是什么?

简介: Redis Stream 是一种持久化、有序的消息数据结构,支持消息队列、日志收集等场景。它具备消息持久化、主备同步、消费者组等功能,确保消息不丢失,并支持多消费者并发处理,适用于实时数据处理与分布式应用。

Stream 数据结构可以被视为一个日志或消息队列,其中每个消息都有一个唯一的 ID,并且按照添加的顺序进行排序。开发人员可以向 Stream 中添加消息、读取消息、删除消息以及订阅消息。Stream 数据结构还支持消费者组,可以让多个消费者并发地处理消息流。


在 Redis 5.0 之前,通过 Redis 的发布订阅(pub/sub)可以实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。


而 Redis Stream 提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失。


它的特点是支持持久化、消息具有有序性,并且支持分组。主要可以用来做消息队列、日志收集、实时数据处理和聊天室应用等。

  • 有序性:消息可以按照发布时间排序,消费者可以按照消息发布的时间顺序进行消费。
  • 多消费者支持:多个消费者可以订阅同一个 Stream 并独立消费消息,支持竞争式消费和共享式消费两种消费模式。
  • 持久化:Stream 支持消息持久化,即使 Redis 服务器重启或崩溃,之前的消息仍然可以恢复。
  • 消息分组:Stream 支持消息分组功能,可以将消息分配到不同的消费组中,从而实现更灵活的消息消费。
目录
相关文章
|
自然语言处理 搜索推荐 Java
号称elastic seaech 100多倍性能的Manticore search搜索引擎有多强
号称elastic seaech 100多倍性能的Manticore search搜索引擎有多强
2565 0
|
存储 数据库
Navicate 如何导出数据库中的存储过程、事件、视图等?
Navicate 如何导出数据库中的存储过程、事件、视图等?
1368 0
|
6月前
|
人工智能 自然语言处理 安全
Claude Code 插件登陆 VS Code:开发者迎来 AI 编程新利器
Anthropic正式发布Claude Code——VS Code官方插件,支持多语言智能补全、代码解释、错误诊断与安全重构。隐私优先、长上下文(200K tokens)处理能力强,显著优于Copilot的可解释性与代码质量,已获开发者广泛好评。(239字)
9025 5
|
7月前
|
SQL 存储 关系型数据库
吃透 MySQL 核心
本文深入解析MySQL核心原理与阿里实战调优,涵盖架构分层、索引机制、事务锁、SQL优化及阿里云RDS部署。从底层B+树到高并发调优,助你掌握大厂级数据库技能,轻松应对面试与生产挑战。(239字)
|
存储 SQL 关系型数据库
MySQL 中的回表是什么?
在 MySQL 中,“回表”是指通过二级索引查询时,因二级索引仅存储索引字段值和主键值,需再根据主键到聚簇索引查找完整行数据的过程。此操作涉及两次索引查找,可能增加 IO 消耗,影响性能。优化方法包括使用覆盖索引或联合索引,避免回表,提升查询效率。合理设计索引对高并发、大数据量场景下的数据库性能至关重要。
782 17
|
JSON 前端开发 Java
获取HTTP请求参数的方法
获取HTTP请求参数的方法
|
安全 Java 应用服务中间件
Spring Boot 实现程序的优雅退出
Spring Boot 实现程序的优雅退出
|
安全 Linux 网络安全
【Linux】centOS7安装配置及Linux的常用命令---超详细
【Linux】centOS7安装配置及Linux的常用命令---超详细
2801 1