nber1994



redis数据库

January 8, 2019

redis数据库

struct redisServer {
    //一个数组,保存所有数据库
    redisDb *db;
    //数据库的数量
    int dbnum;
}

切换数据库

typedef struct redisClient {
    //记录当前的数据库
    redisDb *db;
}

数据库键空间

typedef struct redisDb {
    //数据库键空间,存储所有的键值对
    dict *dict;
    //过期字典
    dist *expire;
} redisDb;

读写键空间时的维护操作

键值的过期时间

保存过期时间

移除过期时间

过期键的删除策略

redis的过期删除策略

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

RDB

AOF

复制

重点回顾