redis过期策略与淘汰策略
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过期策略与淘汰策略相关推荐
- 高性能分布式缓存redis(持久化原理 安全策略 过期删除内存淘汰策略 性能压测 高可用 Redis Cluster)
redis redis(持久化原理 安全策略 过期删除&内存淘汰策略 性能压测 高可用 Redis Cluster) 1. 持久化原理 1.1 持久化流程(落盘) 1.2 RDB详解 1.2. ...
- Redis(五)Redis内存维护方案(过期策略及淘汰策略)
目录 内存维护解决方案 过期策略 内存淘汰策略 内存维护解决方案 在Redis的配置文件中redis.conf 中memeory managment # maxmemory <bytes> ...
- Redis-设置过期时间及淘汰策略
文章目录 1. TTL 2. 设置过期时间 3. 删除过期key 4. 淘汰策略 Redis-设置过期时间及淘汰策略 项目组使用的 Redis 服务器发出了内存不足报警,查了一些资料,记录下. 1. ...
- Reds 过期策略 内存淘汰策略 持久化策略
过期策略 定期删除 redis 会将每个设置了过期时间的 key 放入到一个独立的字典中,以后会定期遍历这个字典来删除到期的 key. 定期删除策略 Redis 默认会每秒进行十次过期扫描(100ms ...
- Redis 过期 key 清理删除策略汇总
Redis 底层使用了三种策略来清理过期的key 一.被动清理 触发条件:读/写一个已经过期的key 当读写一个key时,Redis首先检查key是否存在,若存在且已经过期,则删除key的同时返回ni ...
- redis的过期策略和淘汰策略
过期键删除策略 1.定时删除:在设置键的过期时间的同时,创建一个定时器timer,让定时器在键过期时间来临时,立即执行对键的删除操作. 2.惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查 ...
- Redis的持久化机制、过期策略、淘汰策略
文章目录 一.持久化机制 1. RDB机制 2. AOF机制 RDB的优缺点 AOF的优缺点 持久化机制选择 二.过期策略 常见过期策略 Redis过期策略 1. 定期删除 2. 惰性删除 RDB对过 ...
- Redis 过期策略和淘汰策略
1.Redis 过期策略 Redis 过期策略用于处理设置了缓存时间的数据,使用定时扫描和惰性删除机制删除到期的缓存数据. Redis 将设置了过期时间的 key 保存在一个独立的字典中,定时扫描就是 ...
- Redis之key的淘汰策略
Redis中有一些Key到期了,需要一些策略来处理这些过期的key, 设置到期时间的key会放入一个单独的字典中,以后会定时遍历这个这个字典来删除到期的key,除了定时遍历以外,还会使用惰性策略来删除 ...
最新文章
- Spring Cloud(一)服务的注册与发现(Eureka)
- 创业者如何小步快跑,从0开始实现自己的产品?
- apache重定向无效
- Qt编写自定义控件及插件的使用
- 一个非常好的依存句法可视化工具
- YouTube-DNN优化原理推导
- gis里创建要素面板怎么打开_周末技术流 | 基于GIS的地形可视化分析
- 天梯— A-B(C语言)
- 服务器端登陆机制的 实现模块
- linux b类地址设24位掩码,子网掩码的设置方法和作用
- linux下的文件系统,Linux系统中常见的文件系统有哪些?
- Bitmap createBitmap()裁剪图片
- 离职创业三年后,我来谈谈我的感受
- 博士最惨能惨到什么程度?
- 实现广电宽带电视网关单线复用IPTV的设置
- 杰理之关于608n省晶振模式使用PWM_LED的注意事项【篇】
- 使用STC8A8K64S4A12单片机实现的“基于脉冲宽度调制(PWM)技术的智能温度控制器”
- 网页特效大公开(转)
- 谈谈我个人对WEB3.0对一些看法
- java中对象类型转换_Java 对象类型的转换
热门文章
- I - Keylogger Gym - 101078I——模拟队列+栈
- 西北工业大学MBA院校提前面试资料题已整理完
- 大咖 | 从Ian Goodfellow到Yann LeCun,对话Quora AI大佬TOP 10
- 通达信有量化接口吗?
- hadoop集群:Mapreduce-----WordCount
- android so调用java,AndServer+Service打造Android服务器实现so文件调用
- Selenium IDE录制脚本——Chrome浏览器使用介绍
- 最优控制学习笔记——最优控制问题基本组成
- mblock控制SG90舵机模块
- 解决华硕前置音频没声音,但后置音频有声音,没有Realtak音频管理器如何处理的问题