redis是一种内存级的数据,所有数据均放在内存中,内存中的数据可以通过ttl
指令获取其状态,
对于过期的数据要redis根据会删除策略进行删除。删除策略有:
定时删除 惰性删除 定期删除 一、定时删除创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作。
优点 节约内存,到时就删除,快速释放内存
缺点 当CPU压力很大时,会影响redis服务器的相应时间和指令吞吐量
总结 用处理器性能换取存储空间
数据到期的时候先不忙删,直到再次访问此数据时再删除。
优点 节约CPU性能,发现必须删除时才删除
缺点 内存压力很大,出现长期占用内存的数据
总结 用存储空间换取处理器性能
周期性轮询redis库中的时效性数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频率。
特点1 CPU性能占用设置有峰值,检测频率可自定义设置
特点2 内存压力不是很大,产期占用内存的冷数据会被持续清理
总结 周期性抽查存储空间(过期数据的多的话会增加抽查次数的概率)
存储新数据时会检查内存是否满足大小,如果内存不足就要使用数据逐出策略,在4.0以上版本默认不逐出。