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 ...]

    Redis 6.0 源码阅读笔记(8)- Stream 数据类型源码分析--TBD

2. 源码分析