Redis5数据类型6-Stream

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis5数据类型6-Stream相关的知识,希望对你有一定的参考价值。

参考技术A

Stream是Redis5.0 引入的一个新的数据类型,官方把它定义为:以更抽象的方式模拟日志的数据结构。Redis的streams主要是一个append only的数据结构,至少在概念上它是一种在内存中表示的抽象数据类型,只不过它们实现了更强大的操作,以克服日志文件本身的限制。
如果你了解MQ,那么可以把streams当做MQ。如果你还了解kafka,那么甚至可以把streams当做kafka。
streams数据结构本身非常简单,但是streams依然是Redis到目前为止最复杂的类型,其原因是实现的一些额外的功能:一系列的阻塞操作允许消费者等待生产者加入到streams的新数据。另外还有一个称为Consumer Groups的概念,这个概念最先由kafka提出,Redis有一个类似实现,和kafka的Consumer Groups的目的是一样的:允许一组客户端协调消费相同的信息流!

xadd key ID field string [field string ...]
ID包含两部分:时间戳(毫秒)-sequence(同一毫秒的数列号)组成。用 * 可以代替默认值,也可以自己指定

xlen key

xdel key ID [ID ...]

xrange key start end
特殊ID:- 最小ID + 最大ID

xread [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...]
count 是指定ID后的几条
BLOCK 0:永久阻塞;$:表示获取最新的数据

被阻塞在那了,等待新数据进来

以上是关于Redis5数据类型6-Stream的主要内容,如果未能解决你的问题,请参考以下文章

《Redis5.x入门教程》之准备工作数据类型

Redis5大数据类型详解

Redis基础 -- Redis数据结构Redis通用命令Redis 的 key 的层次结构Redis5种数据类型及基本命令(StringListHashSetSortedSet)

深入剖析 Redis5.0 全新数据结构 Streams(消息队列的新选择)

干货驾到:Redis5.0支持的新功能说明

redis5.0.5安装(单节点)