redis库 - 969251639/study GitHub Wiki
redis服务器将所有数据库都保存在一个redisServer结构的db数组中
struct redisServer {
//一个数组,保存着服务器中的所有数据库
redisDb* db;
}
在服务器初始化时根据dbnum属性决定创建多少个库
struct redisServer {
//服务器的数据库数量,默认为16
int dbnum;
}
可以通过select命令来切换数据库
redis是一个键值对数据库的服务器,每个库都是由redisDb结构来表示,其中redisDb结构中的dict属性保存了该库所有的键值对,称之为键空间
typedof struct redisDb {
//数据库键空间,保存着数据库所有的键值对
dict* dict;
}redisDb
redis的过期删除策略采用定时删除和惰性删除
- 定时删除:从数据库中的expires字典中随机jiancha一部分过期的时间,并删除
- 惰性删除:每次去get数据的时候都去判断一下该键有没有过期