redis源码剖析(十三)—— dump.rdb文件分析

本文探讨了Redis的dump.rdb文件,通过分析其操作方式和不同版本的变化,帮助读者理解rdb文件的格式和作用。文章引用了redis作者关于rdb和aof持久化的解释,以及Sripathi Krishnam的rdb文件格式详解,提供了深入学习Redis持久化的资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

操作方式

127.0.0.1:9999> flushall
OK
127.0.0.1:9999> set name hodge
OK
127.0.0.1:9999> save
OK

查看rdb文件

[root@python src]# od -c dump.rdb
0000000   R   E   D   I   S   0   0   0   6 376  \0  \0 004   n   a   m
0000020   e 005   h   o   d   g   e 377 004   | 313 025   =   G   % 310
0000040
R E D I S五个字节的REDIS
0 0 0 6四个字节版本号(代表rdb文件的版本)
376 \0切换到0号数据库
\0 004 n a m e写入零号库总共四个字母
005 h o d g e005总共5个字母
\0 004 n a m e 005 h o d g e
377代表efo常量。
004 313 025 = G % 310这个是校验和
查看各个库有多少字母info db0:keys=1,expires=0,avg_ttl=0
[root@python src]# od -cx dump.rdb //同时用ASCII编码和16进制格式打印RDB文件。
0000000   R   E   D   I   S   0   0   0   6 376  \0  \0 004   n   a   m
           4552    4944    3053    3030    fe36    0000    6e04    6d61
0000020   e 005   h   o   d   g   e 377 004   | 313 025   =   G   % 310
           0565    6f68    6764    ff65    7c04    15cb    473d    c825
0000040
od -c同时用ASCII编码
od -x16进制格式打印RDB文件
八个字节校验和0565 6f68 6764 ff65 7c04 15cb 473d c825

参考文档

redis作者解释rdb和aof的不同

原文:http://oldblog.antirez.com/post/redis-persistence-demystified.html
翻译:https://my.oschina.net/LucasZhu/blog/1811694

redisRDB文件格式Sripathi Krishnam

原文:https://github.com/sripathikrishnan/redis-rdb-tools/wiki/Redis-RDB-Dump-File-Format
翻译:https://github.com/wen866595/open-doc/blob/master/redis-doc/Redis-RDB-Dump-File-Format-cn.md

redis各个版本变化

https://github.com/sripathikrishnan/redis-rdb-tools/blob/master/docs/RDB_Version_History.textile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值