Redis-内存淘汰策略
2022/3/10 19:15:05
本文主要是介绍Redis-内存淘汰策略,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、为什么需要内存淘汰?
redis的数据可以分为两种,一种不带过期时间,另一种带有过期时间,到期自动删除。假如redis的内存占用阈值为M,那么不带过期时间的数据太多或者带过期时间的数据没有及时删除,都可能导致内存溢出。
redis的过期删除策略:a、定期删除:redis会对设置了过期时间的数据定期扫描一边,如果发现有过期的,直接删除(定期-100ms 扫描也不是对所有数据全扫一遍,而是采取抽样的方式,抽取一定数量的key检查,如果过期比例超过某个值,继续抽取一定数量的key)
b、惰性删除:当获取某个数据时,发现它已经过期,直接删除
2、内存淘汰策略
1. noeviction:当内存使用超过配置的时候会返回错误,不会删除任何键
2. allkeys-lru:加入键的时候,如果过限,首先通过LRU算法删除最久没有使用的键
3. volatile-lru:加入键的时候如果过限,首先从设置了过期时间的键集合中删除最久没有使用的键
4. allkeys-random:加入键的时候如果过限,从所有key随机删除
5. volatile-random:加入键的时候如果过限,从过期键的集合中随机删除
6. volatile-ttl:从配置了过期时间的键中删除马上就要过期的键
7. volatile-lfu:从所有配置了过期时间的键中删除使用频率最少的键
8. allkeys-lfu:从所有键中删除使用频率最少的键
lru 和 lfu的区别:lru是使用时间维度, lfu主要是加上使用频率维度,因为不一定最近使用的key,使用频率就比其它key高
这篇关于Redis-内存淘汰策略的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识