美文网首页
Redis键过期策略

Redis键过期策略

作者: 雁阵惊寒_zhn | 来源:发表于2020-10-28 22:07 被阅读0次

两种过期策略

Redis将过期时间存储在一个过期字典中,处理过期键的策略分为两种:

  • 积极的方式(an active way):定时扫描过期字典,判断存储在过期字典中的键key是否已经过期,清理过期的键key。
  • 消极的方式(a passive way):平时对过期的键不进行处理,只有当Redis接受到访问请求,获取键key时候,去过期字典中检查键key是否已经过期,如果过期删除键key,未过期则正常返回。

两种策略都有利弊,积极的方式可以保证过期的键被尽快清除,节省内存,却对CPU不友好,占用了系统CPU时间,无疑会降低系统的吞吐量;消极的方式刚好相反,节约了CPU时间,却因为大量过期的键不能及时清除导致内存浪费。

Redis键过期策略

Redis结合了积极和消极两种方式,最大限度利用两者的优点,规避缺陷。下面介绍一个Redis官网介绍的清理过期键的算法——A trivial probabilistic algorithm。算法的Redis官网介绍

  1. 算法执行每秒扫描10次;
  2. 在过期字典中随机测试20个键
  3. 删除20个键中过期的键
  4. 如果删除的过期键数量占测试的总键数百分率超过25%(20*25%=5,换言之如果过期键超过5个),则返回第2步再次执行。

相关文章

  • Redis过期删除策略和内存淘汰策略

    1. 过期删除策略 Redis可以用使用expire指令设置过期时间,在Redis内部,每当我们设置一个键的过期时...

  • Redis中Key的过期策略和淘汰机制

    Key的过期策略 Redis的Key有3种过期删除策略,具体如下: 1. 定时删除 原理:在设置键的过期时间的同时...

  • Redis键过期策略

    两种过期策略 Redis将过期时间存储在一个过期字典中,处理过期键的策略分为两种: 积极的方式(an active...

  • redis--数据库

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

  • Redis键过期策略

    1、设置过期时间 expire key time(s)--这是最常用的方式 setex(String key, i...

  • Redis的缓存淘汰策略LRU与LFU

    前言 Redis缓存淘汰策略与Redis键的过期删除策略并不完全相同,前者是在Redis内存使用超过一定值的时候(...

  • Redis过期键删除策略和淘汰机制

    前言 Redis缓存淘汰策略与Redis键的过期删除策略并不完全相同,前者是在Redis内存使用超过一定值的时候(...

  • Redis - 过期策略和内存淘汰策略

    Redis - 过期策略和内存淘汰策略 Redis内存过期策略 Redis是key-value数据库,我们可以设置...

  • Redis 过期策略

    redis 过期策略 redis 过期策略是:定期删除+惰性删除。 所谓定期删除,指的是 redis 默认是每隔 ...

  • Redis之内存淘汰与键过期删除策略

    键过期删除策略 Redis的键可以设置过期时间,时间一到,就会自动删除。但是我们会不会这么一种情景发生:会不会因为...

网友评论

      本文标题:Redis键过期策略

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