08 删除策略
删除策略
Redis中的数据特征
- Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态
- XX :具有时效性的数据
- -1 :永久有效的数据
- -2 :已经过期的数据 或 被删除的数据 或 未定义的数据
数据删除策略
- 定时删除
- 惰性删除
- 定期删除
数据删除策略的目标**
在内存占用与CPU占用之间寻找一种平衡,顾此失彼都会造成整体redis性能的下降,甚至引发服务器宕机或内存泄露
定期删除
- 周期性轮询redis库中的时效性数据,采用随机抽取的策略,利用过期数据占比的方式控制删除频度
- 特点1:CPU性能占用设置有峰值,检测频度可自定义设置
- 特点2:内存压力不是很大,长期占用内存的冷数据会被持续清理
- 总结:周期性抽查存储空间(随机抽查,重点抽查)
删除策略比对
- 定时删除
- 节约内存,无占用
- 不分时段占用CPU资源,频度高
- 拿时间换空间
- 惰性删除
- 内存占用严重
- 延时执行,CPU利用率高
- 拿空间换时间
- 定期删除
- 内存定期随机清理
- 每秒花费固定的CPU资源维护内存
- 随机抽查,重点抽查