Redis源码阅读之rdb.c

本文详细介绍了Redis RDB文件的保存结构,包括长度的保存方式、整数、字符串的编码,以及列表、集合、有序集合和哈希表等对象类型的保存策略。还涉及RDB文件的同步和后台保存过程,以及RDB文件加载时的对象解析,确保数据持久化和恢复的正确性。
摘要由CSDN通过智能技术生成

RDB文件结构

 

1、如何保存长度

rdbSaveLen函数说明了RDB文件中如何保存长度

如果开头两位是00,那么就表示后面的6位保存的是长度,长度最大值63

如果开头两位是01,那么就表示后面的14位保存的是长度,长度最大就是2^14-1

如果开头两位是10,那么后面6位空着,接下来的32位表示长度,最大值2^32-1


 

2、如何保存整数

 

如果开头两位是11时候,表明后面就是特殊的编码对象,举例来说,如果是整数的话,

后面的6位用来表示有符号整数的范围,整数分别有1,2,4字节表示

 


 

3、如何保存字符串

 

1如果服务器打开了RDB文件压缩功能,那么在保存RDB文件的时候就会使用

压缩格式保存,压缩格式如下:

REDIS_RDB_ENC_LZF |compressed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值