Redis 6.0 源码阅读笔记(8)- Stream 数据类型源码分析--TBD
1. 存储结构
在 流对象 Stream 的介绍中已经提到 Stream 的底层存储结构为前缀压缩树,其结构示例如下:
-
OBJ_ENCODING_STREAM
底层采用压缩前缀树(radix tree) 来存储,其每个节点raxNode
用于存储键值对相关数据,不同键相同的前缀字符将被压缩到同一个节点中,并使用iskey
属性来标识从根节点到当前节点保存的键字符是否是完整的键Stream 添加数据的命令格式如下,其中 key 为 Stream 的名称,ID 为消息的唯一标志,不可重复,field string 就是键值对
XADD key ID field string [field string ...]