美文网首页
Redis-16-过期策略

Redis-16-过期策略

作者: 冷风_f818 | 来源:发表于2019-04-28 18:17 被阅读0次

上文中介绍了redis和spring boot的整合使用,本文再来看一下redis中的过期策略,算是对之前内容的一个补充

过期策略

在之前说命令行的时候,我们有给一个key设置过期时间,reids的过期策略就是说,一个key过期了的话redis会怎么处理这个key

过期策略通常有以下三种:

  • 定时过期: 每个设置过期时间的key都创建一个定时器,时间到了就立即清除. 这种策略可以立即清理过期的数据,对内存友好,但是会占用大量的CPU 资源去处理这些过期的数据,所以会影响缓存的响应时间和吞吐量
  • 惰性过期: 只有当访问一个key的时候,才会判断这个key是不是过期了,过期的话就清除掉,该策略可以最大化的节省CPU资源,但是对内存不友好,极端情况下可能会出现一大堆过期的key没有被访问,还留在内存中,占用资源
  • 定期过期: 每隔一定的时间,去扫描一定数量的数据库的expires字典中的一定数量的key,该策略是前面两个策略的一个折中的方案,通过调整定时扫描的时间间隔和每次扫描的限定耗时,可以在不同情况下使得CPU和内存资源达到最优的平衡效果

redis中的过期策略及配置

Redis中同时使用了惰性过期和定期过期两种过期策略

定期删除可以通过以下两点去配置:

  • 配置redis.conf中的hz,默认是10(即1秒执行10次,100ms一次,值越大说明频率越高,对redis的性能损耗也越高)
  • 还可以通过配置redis.conf中的maxmemory去配置,当已用内存超过maxmemory限定的时候,就会触发主动清理策略

持久化时对过期key的处理

reids持久化是分为RDB和AOF持久化两种,下面分别看一下两种情况是如何处理的

RDB对过期key的处理

过期的key对RDB是没有任何影响的,从内存中持久化到RDB文件之前,会先检查key是否过期,过期的key是不进入到RDB文件中的

从RDB恢复到内存数据库中的时候,也会先检查key是否过期,过期的就不导入了

AOF对过期key的处理

过期key对AOF也是没有任何影响的, 当key过期还没有被删除,此时进行持久化,该key是不会进入aof文件的,因为没有发生修改的命令

当key过期掉,发生删除操作的时候,程序会向AOF文件追加一条del命令,在将来用aof文件恢复数据的时候,这个过期的key就会被删除掉

还有就是AOF重写,重写的时候会判断key是否过期,过期的key也是不会被重写到aof文件中的

相关文章

  • Redis-16-过期策略

    述 上文中介绍了redis和spring boot的整合使用,本文再来看一下redis中的过期策略,算是对之前内容...

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

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

  • Redis键过期策略

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

  • Redis 过期策略

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

  • Redis是如何管理内存中过期数据的

    一 redis的数据过期策略 定期删除策略每100毫秒, 随机抽取设置了过期时间的key,如果发现过期了,就删除;...

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

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

  • redis Key过期及删除 LazyFree 渐进式Rehas

    1. 查询key 2. 过期 2.1 使用 过期后根据过期删除策略进行删除。 2.2 过期字典(expires) ...

  • Guava 学习笔记

    主要的类别 过期策略 填充策略(Population) 驱逐策略(eviction) 移除监听器(Removal)...

  • redis过期数据删除策略

    过期数据删除策略  redis的过期数据删除策略使用了惰性删除和定期删除两种策略: 惰性删除发生在redis处理读...

  • redis过期时间的设置

    设置过期时间 移除过期时间 查看过期时间 是否设置过期时间 过期键的删除策略: 立即删除:在创建键的操作时间时,创...

网友评论

      本文标题:Redis-16-过期策略

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