服务器的数据库

2021-03-10  本文已影响0人  鸿雁长飞光不度

redis服务器会根据dbnum创建数据库默认是16个

struct redisServer{
    redisDb * db
    int dbnum;
}

redisClient表示客户端,可以用SELECT 命令选择数据库

struct redisClient {
     redisDb * db; //指向redis选择的服务器
}

数据库

struct redisDb{
  dict * dict; //数据库的键空间
  dict * expires;// 过期
}

往redis的增删改查就是对dict的操作。

读写的额外维护操作

缓存删除策略

redis缓存删除策略

生成RDB
执行SAVE或BGSAVE的时候创建一个新的RDB,已过期的key不会保存

加载RDB: 主服务器模式运行的时候,会对RDB文件检查,过期舍去
从服务器都会加载到数据库,但是主服务器同步数据的时候,从服务器数据清空,所以也不影响。

AOF文件写入
没有被惰性删除或者定时删除的,会写入到AOF文件里面,真正删除后增加删除命令

AOF重写

上一篇下一篇

猜你喜欢

热点阅读