美文网首页
redis--数据库

redis--数据库

作者: MontyOak | 来源:发表于2019-07-21 20:59 被阅读0次

数据库对象定义如下:

struct redisServer {
    // ...
    int dbnum; // 数据库数量
    redisDb *db; // 数组保存redis中所有db
    // ...
}

redisDb定义如下:

typedef struct redisDb {
    // ...
    dict *dict; // 数据库键空间,保存所有键值对
    // ...
}

过期键删除

惰性删除
redis过期键惰性删除策略定义在db.c/expireIfNeeded,所有对键的读写操作进行前都需要调用这个方法进行检查。若已过则清除键。
定期删除
redis过期键定期删除策略定义在redis.c/activeExpireCycle,每当redis周期性执行redis.c/serverCron的时候,都会执行。它在指定时间内,分批遍历各个数据库,从expires中随机检查一部分键做过期检查。
RDB
rdb文件生成和加载时会过滤掉已过期的键

相关文章

  • redis--数据库

    数据库对象定义如下: redisDb定义如下: 过期键删除 惰性删除redis过期键惰性删除策略定义在db.c/e...

  • Redis--数据库

    数据库的结构 1.底层采用dict结构--我们称之为键空间,键空间的键就是我们的key,值则是我们的value。 ...

  • Redis--复制

    Redis--复制 复制功能的实现 1.通过SLAVEOF命令可以让从服务器同步主服务器的数据。 旧版复制实现的机...

  • Redis--使用RedisTemplate操作数据库

    一.什么是Redis Redis是一个非关系型数据库,具有很高的存取性能,一般用作缓存数据库,减少正常存储数据库的...

  • Redis--哈希

    哈希类型是指键值本身又是一个键值对结构 -----------------------------命令 ---设置...

  • Redis--命令

    设值 获值 设置过期时间(单位:s) 设置过期时间(单位:s) 设置过期时间(单位:ms) 设置UNIX过期时间戳...

  • Redis--集合

    集合(set)类型也是用来保存多个字符串元素的,但是和列表不一样的是,集合中不允许有重复元素,并且集合中元素是无序...

  • Redis--列表

    列表(list)类型是用来存储多个有序的字符串,一个列表最多可以储存2^32 - 1个元素,列表是比较灵活的数据结...

  • redis--使用

    一:redis中的数据类型 redis的数据存储:key=value 键值对 key<键>的数据类型:字符串 va...

  • redis--使用

    一:redis中的数据类型 redis的数据存储:key=value 键值对 key<键>的数据类型:字符串 va...

网友评论

      本文标题:redis--数据库

      本文链接:https://www.haomeiwen.com/subject/skcplctx.html