# RDB/SSTable/LevelDB/RocksDB/Memcached 二进制 KV 存储编码谱系解码器

逐字节取证解码 KV 存储家族的二进制工件:Redis RDB 快照、LevelDB/RocksDB WAL 记录与 SSTable 页脚、Memcached 二进制报文、BoltDB 与 LMDB 页头,并支持键空间十六进制对比与 TTL 过期矩阵。

> 标准页面: https://elysiatools.com/zh/tools/rdb-sstable-leveldb-rocksdb-memcached-binary-key-value-store-encoding-lineage

- **分类:** Converter

- **关键词:** redis rdb 解码, rocksdb sstable 页脚, leveldb 日志格式, memcached 二进制协议, kv 存储取证, crc64, listpack 解码, boltdb 页, lmdb 页头

## 概述

面向 KV 存储家族二进制编码的取证解码器。

支持的工件与展开内容:

· Redis RDB —— "REDIS" 魔数 + ASCII 版本号、AUX 辅助字段(操作码 0xFA)、SELECTDB(0xFE)、RESIZEDB(0xFB)、过期操作码 FD/FC,以及从普通字符串(int8/16/32 整数与 LZF 压缩)到 list、set、zset(ASCII 与二进制双精度分值)、hash、zipmap、ziplist、intset、quicklist v1/v2、listpack 哈希/有序集合/集合(类型 16/17/18/20)的全部值类型,并校验 CRC-64 Jones 尾部。
· LevelDB / RocksDB WAL —— 32 KiB 块、7 字节记录头(掩码 CRC32C、u16 长度、FULL/FIRST/MIDDLE/LAST 类型)、零填充尾部。
· LevelDB / RocksDB SSTable —— 48 字节旧式页脚(varint64 metaindex/index BlockHandle 填充至 40 字节 + 小端魔数 0xdb4775248b80fb57 / 0x88e241b785f4cff7)、数据块前缀压缩与重启点。
· Memcached 二进制协议 —— 24 字节头(魔数 0x80/0x81、操作码、key/extras/value 拆分、vbucket 或状态码、opaque、CAS)、按操作码解释 flags + 过期时间等 extras。
· BoltDB —— 16 字节页头与 meta 页魔数 0xed0cdaed;LMDB —— MDB_page 页头标志位(该格式著名地没有魔数)。

粘贴第二份 RDB 快照即可得到键空间差异(新增/删除/值变更/TTL 漂移)与按指定参考时间评估的 TTL 过期矩阵。

RDB 路径已对照真实 redis-server 7.2.4 导出文件验证;模块与流值类型(6/7/15/19/21)会报告但不再展开。

## 输入项

- **二进制快照 A(十六进制字节)** (textarea): e.g. 52 45 44 49 53 30 30 31 31 … (REDIS0011…), or 80 00 00 05 … for a memcached packet
- **格式** (select)
- **二进制快照 B(十六进制,可选对比基准)** (textarea): Paste a second RDB snapshot here to get a keyspace diff + TTL drift matrix
- **TTL 矩阵参考时间(Unix 秒)** (number): 1790000000

## 适用场景

- 需要离线剖析或排查 Redis dump.rdb 文件损坏、验证 CRC-64 校验和及 listpack/quicklist 底层编码结构时。
- 排查 Memcached 二进制协议报文或 LevelDB/RocksDB WAL 与 SSTable 块索引元数据异常时。
- 需要比对两份 Redis RDB 快照之间的键空间变动、数值修改及 TTL 过期漂移情况时。

## 工作原理

- 输入十六进制字节流后，解析器根据魔数特征自动识别格式（支持手动指定为 RDB、WAL、SSTable、Memcached、BoltDB 或 LMDB 页面）。
- 针对选定结构逐层反序列化头部字段、操作码（Opcode）、块索引（BlockHandle）与复合容器编码（如 listpack、ziplist、intset）。
- 执行校验码检验（如 RDB CRC-64 Jones 或 WAL 掩码 CRC32C），若提供快照 B 则进一步对比键集合差异并结合参考时间戳生成 TTL 过期状态矩阵。

## 使用案例

- 存储引擎内核研发与调试：验证各类 KV 存储格式编码器生成的二进制流是否符合规范。
- 生产事故取证与数据恢复：检查损坏的 RDB 文件尾部校验码并提取仍可识别的 Key-Value 键值对。
- 网络抓包协议分析：将 Wireshark 捕获的 Memcached 二进制报文十六进制转储并快速还原出操作类型与键值负载。

## 常见问题

### 工具支持解析哪些 Redis RDB 数据类型？

支持解析普通字符串（含整数与 LZF 压缩）、list、set、zset、hash、zipmap、ziplist、intset、quicklist v1/v2 以及 listpack 系列编码；Module 与 Stream 类型会提示但不会深度展开。

### 如何对比两份 Redis RDB 快照的键空间差异？

在主输入框填入快照 A 的十六进制字节，在可选基准框填入快照 B，解码器将自动对比并输出新增、删除、数值变更与 TTL 漂移的差异报告。

### LevelDB 和 RocksDB 的 SSTable 支持哪些结构解析？

支持解析 48 字节旧式页脚（包含 metaindex 与 index 的 BlockHandle 及小端魔数）以及数据块的前缀压缩与重启点结构。

### Memcached 报文能展开哪些具体字段？

可完整展开 24 字节二进制头部中的 Magic、Opcode、Key/Extras/Value 长度、Status/vBucket、Opaque、CAS 以及扩展字段（Flags 与 Expiry）。

### LMDB 页面在没有魔数的情况下如何识别？

LMDB 格式本身不包含全局魔数，解码器通过匹配其 MDB_page 页面头部结构及其特定的标志位组合进行特征解析与识别。

## 相关工具

- [JavaScript反混淆器](https://elysiatools.com/zh/tools/javascript-deobfuscator): 反混淆和分析混淆的JavaScript代码，提高可读性和理解性
- [Parquet 布隆过滤器/区间图/字典与列统计剪枝评估器](https://elysiatools.com/zh/tools/parquet-bloom-filter-zonemap-dictionary-and-column-statistics-pruner-evaluator): 解码 Parquet thrift footer 并量化谓词下推剪枝：区间图 min/max、split-block 布隆过滤器（XXH64）、字典比率与编码，按行组给出示例 WHERE 子句的剪枝节省估算。
- [PCIe 链路训练 LTSSM 与 Lane Margining 眼图解码器](https://elysiatools.com/zh/tools/pcie-link-training-linkstate-and-lane-margining-eye-decode): 解析 PCIe 链路训练日志(LTSSM 状态序列 + TS1/TS2 有序集),输出 Gen1-Gen6 全代次状态时间线、协商速率/宽度、速率标识位解码、通道反转与极性反转、均衡相位及 Detect/Recovery 重启诊断;并对 pcilmr 通道裕量报告按 Base Spec §8.4.2 逐代际判级,绘制逐通道眼图裕量热力图 SVG。
- [SQL 查询格式化器 & 压缩器](https://elysiatools.com/zh/tools/sql-query-formatter): 美化或压缩 SQL，完全可控 SQL 方言（PostgreSQL、MySQL、SQLite、SQL Server/T-SQL、BigQuery、Snowflake 等）、关键字/标识符/函数大小写、缩进风格（标准、左对齐表格、右对齐表格）以及语句间空行。输出带语法高亮、可直接复制的结果，并显示大小与语句数统计。
- [TIFF转PDF](https://elysiatools.com/zh/tools/tiff-to-pdf): 将TIFF图像转换为PDF格式，用于文档共享和打印
- [现代唯一 ID 生成器](https://elysiatools.com/zh/tools/uid-generator): 生成现代唯一标识：ULID、NanoID、Snowflake、CUID2。可对比格式、解码 ULID 时间戳，选择适合你系统的 ID 方案。
- [X.509 证书解析器](https://elysiatools.com/zh/tools/certificate-decoder): 解析 X.509 SSL/TLS 证书（粘贴 PEM 或上传 .pem/.crt），查看主题、签发者、有效期（含过期状态）、公钥、签名算法、序列号、SAN、密钥用途和指纹。类似 openssl x509 -text 的可视化版。本地运行。
- [AVIF转TIFF转换器](https://elysiatools.com/zh/tools/avif-to-tiff): 将AVIF图像转换为TIFF格式，支持无损质量、压缩选项和专业工作流程

## 示例

- [十六进制/Unicode转换样本](https://elysiatools.com/zh/samples/text-hex-unicode-formats): 十六进制和Unicode转义序列转换的测试样本
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
