Redis 流简介
· 13 min read
概述
对 Redis 的印象可能很多人都还只停留在 2.8 的阶段,一个结构化的内存存储(嗯,好像也没什么问题)。虽然距离 4.0 发布(2017.7.14)已经一年过去了,但相信很多人已经不再去关心 Redis 的新特性了,因为从 2.8 后的 Redis 已经足够好用了。😄
Redis 3.0 添加了集群的能力,4.0 添加了模块化能力,5.0 添加了流类型。如果说 3.0 和 4.0 添加的新特性对于一般用户来说无足轻重,那 5.0 新的流类型就不可忽视啦!
在没有 Stream 类型之前,其实 Redis 也支持各种类似于流的处理模式,例如 Fire and forget 模式的 Pub/Sub,阻塞队列 BLPOP,时间序列 zsort 存储,等各种方式都能模拟类似的场景,但却都觉得有点欠缺,终于,流类型成功的解决了以上所有问题,并能支持其他的常见使用场景。
说到流消息就不得不说到 Kafka 啦,我相信大家应该都听说过消息中间件 Kafka,至于 RocketMQ 或者 MetaQ 就不再赘述他们与 Kafka 的关系啦,Redis 作者在实现流类型时大量参考了 Kafka 中的概念,例如消费模型,流消息的概念。当然所有的参考只局限于 Kafka 的文档,与 Kafka 的代码实现没有任何关系哦。
心动不如心动,那先一睹为快吧。