redis过期策略与淘汰策略

  • 1.过期策略
  • 2.淘汰策略
  • 3.在哪里配置?
  • 4.Lazy Free

1.过期策略

1.redis中所有的key都可以通过expire命令来设置过期时间,所有被设置了过期时间的key会被存放在一个独立的字典中,删除这些key有两种不同的策略:

1)定时删除,redis默认每1秒进行10次过期扫描,每次从字典中取出20个key,删除这20个key中已经过期的key,如果删除的数量大于1/4,那么会继续取20个key出来,继续删除20个key中已经过期的key,以此类推,为了避免无限循环扫描,redis规定每次过期扫描时间为25毫秒!

2)惰性删除,当客户端连接到redis服务器时,再去检查key是否过期,如果这个key过期,则删除这个key

注意:如果是主从架构,从机是不会有过期扫描的,过期扫描只会在主机上出现,主机中的key过期后,会同步到从机

2.淘汰策略

1.概念:redis用于做缓存的内存已经满时,这个时候,我们再将数据写到redis中,redis将以什么方式来处理

2.八大策略
1)针对于全局键
1.1 noeviction,这是redis默认的策略,此时写操作停止,允许读和删除操作
1.2 allkeys-lru,淘汰最近少用的key
1.3 allkeys-lfu,淘汰使用频率低的key
1.4 allkeys-random,随机淘汰key

2)针对于设置了过期时间的键
2.1 volatitle-lru,在所有设置了过期时间的key中,淘汰最近少用的key
2.2 volatitle-ttl,在所有设置了过期时间的key中,淘汰ttl值小的key,ttl值代表设置的过期时间的大小
2.3 volatitle-lfu,在所有设置了过期时间的key中,淘汰使用频率低的key
2.4 volatitle-random,在所有设置了过期时间的key中,随机淘汰key

3.在哪里配置?

1.在redis.conf中,有这么一个参数maxmemory-policy

4.Lazy Free

1.懒惰删除,为什么需要懒惰删除呢,因为redis时一个单线程程序,如果我们删除一个key很大,那么很容易就会出现卡顿的情况,懒惰删除也称为异步删除

2.unlink key,这个命令就相当于懒惰删除一个key,redis4.0后提供

3.flushall async/flushdb async 也可以实现懒惰删除所有key

redis过期策略与淘汰策略相关推荐

  1. 高性能分布式缓存redis(持久化原理 安全策略 过期删除内存淘汰策略 性能压测 高可用 Redis Cluster)

    redis redis(持久化原理 安全策略 过期删除&内存淘汰策略 性能压测 高可用 Redis Cluster) 1. 持久化原理 1.1 持久化流程(落盘) 1.2 RDB详解 1.2. ...

  2. Redis(五)Redis内存维护方案(过期策略及淘汰策略)

    目录 内存维护解决方案 过期策略 内存淘汰策略 内存维护解决方案 在Redis的配置文件中redis.conf 中memeory managment # maxmemory <bytes> ...

  3. Redis-设置过期时间及淘汰策略

    文章目录 1. TTL 2. 设置过期时间 3. 删除过期key 4. 淘汰策略 Redis-设置过期时间及淘汰策略 项目组使用的 Redis 服务器发出了内存不足报警,查了一些资料,记录下. 1. ...

  4. Reds 过期策略 内存淘汰策略 持久化策略

    过期策略 定期删除 redis 会将每个设置了过期时间的 key 放入到一个独立的字典中,以后会定期遍历这个字典来删除到期的 key. 定期删除策略 Redis 默认会每秒进行十次过期扫描(100ms ...

  5. Redis 过期 key 清理删除策略汇总

    Redis 底层使用了三种策略来清理过期的key 一.被动清理 触发条件:读/写一个已经过期的key 当读写一个key时,Redis首先检查key是否存在,若存在且已经过期,则删除key的同时返回ni ...

  6. redis的过期策略和淘汰策略

    过期键删除策略 1.定时删除:在设置键的过期时间的同时,创建一个定时器timer,让定时器在键过期时间来临时,立即执行对键的删除操作. 2.惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查 ...

  7. Redis的持久化机制、过期策略、淘汰策略

    文章目录 一.持久化机制 1. RDB机制 2. AOF机制 RDB的优缺点 AOF的优缺点 持久化机制选择 二.过期策略 常见过期策略 Redis过期策略 1. 定期删除 2. 惰性删除 RDB对过 ...

  8. Redis 过期策略和淘汰策略

    1.Redis 过期策略 Redis 过期策略用于处理设置了缓存时间的数据,使用定时扫描和惰性删除机制删除到期的缓存数据. Redis 将设置了过期时间的 key 保存在一个独立的字典中,定时扫描就是 ...

  9. Redis之key的淘汰策略

    Redis中有一些Key到期了,需要一些策略来处理这些过期的key, 设置到期时间的key会放入一个单独的字典中,以后会定时遍历这个这个字典来删除到期的key,除了定时遍历以外,还会使用惰性策略来删除 ...

最新文章

  1. Spring Cloud(一)服务的注册与发现(Eureka)
  2. 创业者如何小步快跑,从0开始实现自己的产品?
  3. apache重定向无效
  4. Qt编写自定义控件及插件的使用
  5. 一个非常好的依存句法可视化工具
  6. YouTube-DNN优化原理推导
  7. gis里创建要素面板怎么打开_周末技术流 | 基于GIS的地形可视化分析
  8. 天梯— A-B(C语言)
  9. 服务器端登陆机制的 实现模块
  10. linux b类地址设24位掩码,子网掩码的设置方法和作用
  11. linux下的文件系统,Linux系统中常见的文件系统有哪些?
  12. Bitmap createBitmap()裁剪图片
  13. 离职创业三年后,我来谈谈我的感受
  14. 博士最惨能惨到什么程度?
  15. 实现广电宽带电视网关单线复用IPTV的设置
  16. 杰理之关于608n省晶振模式使用PWM_LED的注意事项【篇】
  17. 使用STC8A8K64S4A12单片机实现的“基于脉冲宽度调制(PWM)技术的智能温度控制器”
  18. 网页特效大公开(转)
  19. 谈谈我个人对WEB3.0对一些看法
  20. java中对象类型转换_Java 对象类型的转换

热门文章

  1. I - Keylogger Gym - 101078I——模拟队列+栈
  2. 西北工业大学MBA院校提前面试资料题已整理完
  3. 大咖 | 从Ian Goodfellow到Yann LeCun,对话Quora AI大佬TOP 10
  4. 通达信有量化接口吗?
  5. hadoop集群:Mapreduce-----WordCount
  6. android so调用java,AndServer+Service打造Android服务器实现so文件调用
  7. Selenium IDE录制脚本——Chrome浏览器使用介绍
  8. 最优控制学习笔记——最优控制问题基本组成
  9. mblock控制SG90舵机模块
  10. 解决华硕前置音频没声音,但后置音频有声音,没有Realtak音频管理器如何处理的问题