首页 > 数据库技术 > 详细

Redis-单数据库的实现

时间:2020-07-24 12:22:11      阅读:67      评论:0      收藏:0      [点我收藏+]

1.reids默认有16个数据库,在

技术分享图片

 

 2.数据库的键空间就是保存在dict字典里(所有的数据)

其他键空间的操作:exists,rename,keys

 

技术分享图片

 


lru:计算键的闲置时间

设置过期时间:秒、毫秒、时间戳,最后都会转化为时间戳

2.expires字典保存了所有键的过期时间——过期字典

技术分享图片

 

 实际中,键空间和过期字典都是指向同一个键对象。

presist命令去除过期字典中的健值

3.过期策略:

  定时:cpu不友好

    惰性:内存不友好

  定期:整合和折中的方法

要合理的设置定期删除的时长和执行频率

惰性删除实现:

  所有读写命令执行之前都会调用db.c/expireIfNeeded,如果过期删除,不过期,该函数不做动作

定期删除实现:

  在规定的时间内,分多次遍历服务器中的各个数据库,从过期字典中随机检查一部分的过期时间,并删除其中的过期键

  默认:数据库16个、每个数据库过期键20个,如果达到时间上线,停止处理

 

Redis-单数据库的实现

原文:https://www.cnblogs.com/PengChengLi/p/13370915.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!