《redis设计与实现》之单机版数据库的实现
在初始化服务器时,程序会根据服务器状态的dbnum属性来决定应该创建多少个数据库,默认16.
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
数据库的键空间是一个字典,所有对数据库的操作都是对字典的操作。
例如存了一个链表,hsah和字符串的例子
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
设置过期时间
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现

AOF、RDB和复制功能对过期键的处理

《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现

RDB文件

《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现

RDB文件结构

《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
db_wersion:版本号
《redis设计与实现》之单机版数据库的实现
《redis设计与实现》之单机版数据库的实现
database部分:

《redis设计与实现》之单机版数据库的实现
SELECTDB是一个常量。当程序读到它时知道接下来的将是数据库号码,db_number保存数据库号码,当读到它时,服务器会调用select命令,根据读到的号码进行数据库的切换,使得之后独到的键值对能载入到正确的数据库。key_value_pairs保存了数据库中所有键值对数据。
《redis设计与实现》之单机版数据库的实现

相关文章: