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的主要内容,如果未能解决你的问题,请参考以下文章
Redis基础 -- Redis数据结构Redis通用命令Redis 的 key 的层次结构Redis5种数据类型及基本命令(StringListHashSetSortedSet)