当前位置:网站首页>Redis的过期策略和淘汰策略
Redis的过期策略和淘汰策略
2022-08-09 02:58:00 【棒棒吃不胖】
redis的过期策略
1)定时过期
每个创建的KEY都设置一个定时器,到过期时间,则对KEY删除。
优点:定期删除数据,对内存友好
缺点:占用大量CPU去清除数据,影响缓存的响应时间和吞吐量
2)惰性过期
在访问KEY时,才去判断它是否过期,过期就清除数据。
优点:节省CPU资源
缺点:对内存不友好
3)定期过期
每隔一段时间,随机清除内存中过期的KEY。
它是定时过期和惰性过期的折中方案。
Redis中同时使用了惰性过期和定期过期两种过期策略。
redis的内存淘汰策略
redis4.0以前的淘汰策略
volatile-lru:当内存不足以容纳新写入数据时,从设置了过期时间的key中使用LRU(最近最少使用)算法进行淘汰;
allkeys-lru:当内存不足以容纳新写入数据时,从所有key中使用LRU(最近最少使用)算法进行淘汰。
volatile-random:当内存不足以容纳新写入数据时,从设置了过期时间的key中,随机淘汰数据;。
allkeys-random:当内存不足以容纳新写入数据时,从所有key中随机淘汰数据。
volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的key中,根据过期时间进行淘汰,越早过期的优先被淘汰;
noeviction:默认策略,当内存不足以容纳新写入数据时,新写入操作会报错。
redis4.0以后新增的淘汰策略
volatile-lfu:4.0版本新增,当内存不足以容纳新写入数据时,在过期的key中,使用LFU算法进行删除key。
allkeys-lfu:4.0版本新增,当内存不足以容纳新写入数据时,从所有key中使用LFU算法进行淘汰;
边栏推荐
- ros入门(安装)
- 非关系型数据库MongoDB:(二)副本集部署说明、数据迁移、限制内存、启用mongo认证
- [LeetCode84双周赛] [模拟] 6174. 任务调度器 II,[贪心&数学] 6144. 将数组排序的最少替换次数
- Take you do interface test from zero to the first case summary
- Building PO layered architecture of automated testing framework from 0
- MES对接Simba实现展讯平台 IMEI 写号与耦合测试
- Kubernetes:(十三)secret与configmap的那些事
- 攀爬倒影发光方块
- 马斯克被因狗狗币被索赔2580亿美元 操纵价格牟利?狗狗币已下跌92%
- [LeetCode305周赛] 6136. 算术三元组的数目,6139. 受限条件下可到达节点的数目,6137. 检查数组是否存在有效划分,6138. 最长理想子序列
猜你喜欢
随机推荐
[TensorRT] 对UNet进行推理加速
Tricore架构上的调试案例
掌握 TypeToken 原理及泛型擦除
C专家编程 第9章 再论数组 9.6 C语言的多维数组
20220524搜索和排序:搜索二维矩阵II
关于eBPF与可观测性,你想知道的都在这里
开发工程师必备————【Day05】UDP协议;进程的并发与并行
如何实现canal数据同步
20220527动态规划:零钱兑换
20220525动态规划:跳跃游戏
SwiftUI * Grid
flat() :递归地将数组展平到指定的深度
[Redis] The core principle of master-slave replication
让历史文化“活”起来,北京河图“万象中轴”助力打造北京城市金名片
What are the most popular automated testing tools in 2022?The most complete and most detailed of the entire network is here
2027年加密市场将会发生什么?思维的跨越?长期预测无法脱离形势变化
sql语句实现按顺序排序而不是拼音首字母排序
MES对接Simba实现展讯平台 IMEI 写号与耦合测试
时间复杂度和空间复杂度
C专家编程 第10章 再论指针 10.1 多维数组的内存布局









