Redis 过期 key 清理删除策略汇总
Redis 底层使用了三种策略来清理过期的key
一、被动清理
触发条件:读/写一个已经过期的key
当读写一个key时,Redis首先检查key是否存在,若存在且已经过期,则删除key的同时返回nil给客户端
二、定期清理
触发条件:Redis定期检查
redis会定期执行清理过期key的任务,运行频率由redis.conf中的hz参数决定,取值范围1~500,默认是10,代表每秒运行10次。
清理过程如下:
1)遍历所有的db
2)从db中设置了过期时间的key的集合中随机检查20个key
3)删除检查中发现的所有过期key
4)如果检查结果中25%以上的key已过期,则继续重复执行步骤2-3,否则继续遍历下一个db
调大hz将会提高redis定期任务的执行频率,如果redis中包含很多过期key的话,可以考虑将这个值调大,但要注意同时也会增加CPU的压力,redis作者建议这个值不要超过100。
三、强制删除
触发条件:Redis 使用内存达到 maxmemory 的配置,然后根据 maxmemory-policy 来清理过期 key
具体的 maxmemory-policy 可以参考我之前的文章:Redis LRU 缓存回收机制_潘广宇 de 小白笔记的博客-CSDN博客
清理过程是阻塞的,直到清理出足够的内存空间才会停止
参考:
redis过期key的删除策略_自由de单车的博客-CSDN博客_redis的key过期了会自动删除吗
Redis 过期 key 清理删除策略汇总相关推荐
- redis过期key的删除策略
前言 在使用redis的过程中,不免会产生过期的key,而这些key过期后并不会实时地马上被删除,当这些key数量累积越来越多,就会占用很多内存,因此在redis底层同时使用了三种策略来删除这些key ...
- Redis过期键的删除策略
文章目录 立即删除 惰性删除 定时删除 Redis使用的策略 Redis中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间.作为一个缓存数据库,这是非常实用的.如我们一 ...
- Redis 过期 key 删除,那些不得不说的事情!
点击关注公众号,利用碎片时间学习 1.过期key的删除策略 定时删除:当为key设置过期时间的时候,设置一个定时任务,到时间后即刻调用并删除 定期删除:每隔一定的时间,对某些key进行扫描,并删除掉其 ...
- 【2020尚硅谷Java大厂面试题第三季 04】Redis 9种数据类型使用场景,分布式锁演变步骤,lua脚本,redis事务,Redisson,Redis内存占用,删除策略,内存淘汰策略,手写LRU
1.安装redis6.0.8 2023 02 02 为:redis-7.0.8.tar.gz 2.redis传统五大数据类型的落地应用 3.知道分布式锁吗?有哪些实现方案?你谈谈对redis分布式锁的 ...
- redis过期key的清理/删除策略
一,有三种不同的删除策略 立即清理.在设置键的过期时间时,创建一个回调事件,当过期时间达到时,由时间处理器自动执行键的删除操作. 惰性清理.键过期了就过期了,不管.当读/写一个已经过期的key时,会触 ...
- redis对过期数据的删除策略
在redis中可以设置键的过期时间,对于过期键的删除策略有三种:定时删除.惰性删除.定期删除 定时删除 定时删除即立即删除,指在设置过期时间时创建一个定时器,在定时器到时间时,立即删除设置的键 ...
- 2022-04-12 redis过期key删除策略
1 定时删除: 在设置键过期时间的同时,创建一个定时器,让定时器在过期时间来临时,立即执行对键的删除操作; 这样做有一个弊端,就是当有很多key同一时间过期的时候,会造成一时间的CPU紧张,从而可能影 ...
- Redis过期key是怎么样清理的?
在Redis中,对于过期key的清理主要有惰性清除,定时清理,内存不够时清理三种方法,下面我们就来具体看看这三种清理方法. (1)惰性清除 在访问key时,如果发现key已经过期,那么会将key删除. ...
- Redis过期key是怎么清理的
过期删除策略 删除到达过期时间的 key . 第一种:定时检查删除 对于每一个设置了过期时间的 key 都会创建一个定时器,一旦达到过期时间都会删除.这种方式立即清除过期数据,对内存比较好, 但是有缺 ...
最新文章
- 【教程】简易CDQ分治教程学习笔记
- pandas 判断数据表中的缺失值
- 5.1.5 IO核心子系统
- 求序列中第k小的数_无理数的整数部分与小数部分
- 超级终端软件哪个好_同城配送软件哪个好?如何选择配送软件?
- oracle统计每天数据增量,每天的业务数据增量导入oracle库方法讨论
- POJ 2253 1797
- 学习笔记:OMP算法(Spatially Sparse Precoding in Millimeter wave MIMO Systems)
- 基于ZigBee cc2530单片机多传感器的智能阳台仿真设计与实现
- 计算机搜索不了硬盘文件资料,解决WINDOWS痛点,本地文件搜索从未如此简单
- 富媒体广告投放的一些经验
- 如何把网站从万网转到百度的服务器,百度域名服务上线“域名转入”功能 附转入教程...
- 投影仪买哪个好?家用投影仪哪种好
- 2014淘宝钻石展位新客户考试
- 小猪佩奇的4种python玩法,带你趣味学python!
- SystemInfo 类
- GOE:Nintendo Switch™ 对战忍者口香糖动作游戏 『Ninjala』决定于2020年6月25日发售
- while ... Wend循环语句的用法
- [渝粤教育] 西南科技大学 证券投资学 在线考试复习资料(1)
- php周未班培训,SEO培训周末班招生简章
热门文章
- Linux计划任务(at/crontab)
- c++中atoi函数
- MATLAB数据处理(2)——广义帕累托分布和极值外推
- 前缀、中缀、后缀的相互转换
- 容器应用优雅关闭的终极大招
- 【问题解决】检索com类工厂中clsid为 10020200-E260-11CF-AE68-00AA004A34D5 的组件时失败...
- 南京软博会·开源软件论坛丨盖国强:持续投身鲲鹏产业生态建设
- 最近,软博会”收官“发布会如约而至……
- Materials Studio选中一类元素下所有原子
- Minio分布式存储系统