Redis Streams简介

Stream是Redis 5.0引入的一种新数据类型,它以更抽象的方式模拟日志数据结构,但日志的本质仍然完好无损:像日志文件一样,通常实现为仅附加模式打开的文件, Redis流主要是仅附加数据结构。至少在概念上,因为Redis Streams是一种在内存中表示的抽象数据类型,它们实现了更强大的操作,以克服日志文件本身的限制。是什么让Redis流式传输最复杂的Redis,尽管数据结构本身非常简单...
摘要由CSDN通过智能技术生成

Stream是Redis 5.0引入的一种新数据类型,它以更抽象的方式模拟日志数据结构,但日志的本质仍然完好无损:像日志文件一样,通常实现为仅附加模式打开的文件, Redis流主要是仅附加数据结构。至少在概念上,因为Redis Streams是一种在内存中表示的抽象数据类型,它们实现了更强大的操作,以克服日志文件本身的限制。

是什么让Redis流式传输最复杂的Redis,尽管数据结构本身非常简单,它实现了额外的非强制性功能:一组阻塞操作允许消费者等待生产者添加到流中的新数据,此外还有一个名为Consumer Groups的概念。

消费者群体最初由称为Kafka(TM)的流行消息系统引入。Redis以完全不同的方式重新实现了类似的想法,但目标是相同的:允许一组客户端合作消费同一消息流的不同部分。

 

认识Streams

为了理解Redis流是什么以及如何使用它们,我们将忽略所有高级功能,而是根据用于操作和访问它的命令来关注数据结构本身。这基本上是大多数其他Redis数据类型共有的部分,如列表,集合,排序集等。但是,请注意,列表还有一个可选的更复杂的阻塞API,由BLPOP等命令导出。因此,流与这方面的列表没有太大的不同,只是附加的API更复杂,更强大。

由于流是仅附加数据结构,因此基本写入命令(称为XADD)会将新条目附加到指定的流中。流条目不仅仅是一个字符串,而是由一个或多个字段 - 值对组成。这样,流的每个条目都已经结构化,就像仅以CSV格式编写的附加文件,其中每行中存在多个分离的字段。

 

> XADD mystream * sensor-id 1234 temperature 19.8
1518951480106-0

上面对XADD命令的调用使用自动生成的条目ID sensor-id: 123, temperature: 19.8在密钥处向流添加条目,该mystream条目ID是命令返回的条目ID,具体而言1518951480106-0。它将键名称作为第一个

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值