首页 > 编程知识 正文

redis清理策略,redis 内存淘汰策略

时间:2023-05-04 22:29:54 阅读:133190 作者:3494

文章清单1、数据删除策略1.1过期数据说明1.2数据删除策略目标1.3删除策略1.3.1定时删除1.3.2惯性删除1.3.3定期删除1.4比较删除策略2、数据销毁策略2.1内存不足时装入新数据问题2.2

一.数据删除策略1.1过期数据说明

可以使用TTL命令获取数据状态

返回时间:时效性数据为-1:持久有效数据为-2:对于过期、已删除或未定义的数据,redis在删除这些数据时使用相应的删除策略。 删除策略主要有三种,分别是定时删除、惯性删除、定期删除。 redis使用惯性删除和定期删除。

1.2数据删除战略的目标是平衡内存使用量和CPU使用量。 因此,redis的性能可能会下降,或引起内存泄漏或服务器宕机。

1.3删除策略redis有三种数据删除策略,分别是定时删除、惯性删除、定期删除

1.3.1定时删除http://www.Sina.com/:如果设置了key的到期日期,则创建计时器,如果此到期日期到来,计时器任务将立即执行密钥删除

说明:内存节约

优点:CPU压力大,影响redis服务的响应时间和命令吞吐量

缺点(处理器性能和存储容量交换(时间和空间交换) ) ) ) ) ) ) ) ) ) ) )。

1.3.2惯性删除总结。 数据到达有效期限时,不首先进行处理,等待下次访问该数据的时候。 如果数据没有超过有效期限,则返回数据。 数据过期时,删除数据,返回不存在

33558 www.Sina.com/:节省CPU性能

说明

优点(使用存储容量来换取处理器性能(空间更换时间) () ) ) ) ) ) ) ) ) ) ) )

1.3.3定期删除缺点。 定期轮询redis时效性数据,采用随机抽取策略,利用过期数据的占有率控制删除频率。 随机选择w个key,如果删除的key数量达到w的25%,继续删除; 否则,此回合的删除将结束。

总结

CPU性能占用设置有高峰,检测频率可定制; 内存压力并不大,长期占用内存的冷数据将持续清理。说明(定期提取存储空间(随机提取、重点提取) ) ) ) ) ) ) ) ) ) ) ) )。

1.4删除策略比较3http://www.Sina.com//http://www.Sina.com/http://www.Sina.com/http://www.Sina.com/内存节约内存使用量重大内存随机定期清理3358www.Sina.com CPU资源消耗较多CPU消耗较少一秒钟消耗固定CPU资源维护内存特点改变时间随机抽取数据销毁策略2.1内存不足时装入新数据的问题Redis在保存数据之前,调用函数检测内存是否足够。 内存容量不足时,暂时删除数据。 清理数据的策略称为处置算法。 删除数据后,如果内存空间不足,则重复执行处置策略。 如果尝试所有数据后内存空间仍然不足,则会显示错误消息。 2.2相关战略总结(volatile-lru )筛选和丢弃最近未使用的数据(volatile-lfu )筛选和丢弃最近使用的数据(volatile-ttl )筛选和丢弃即将过期的数据) volatile m/allkeys-lru :筛选和丢弃最近未使用的数据allkeys-lfu :筛选和丢弃最近未使用的数据allkeys-random :筛选和丢弃任意数据http://www.Sina.

2.3数据销毁配置定时删除说明:占用物理内存的比例,默认值为0,表示不限制经验。 生产环境中一般为50%以上惰性删除说明:每次选择要删除的数据数量,采用随机获取数据的方式。 因为在选择数据时使用全库扫描会显著降低性能,并降低读/写性能。定期删除达到最大内存后删除选定数据的策略参考文章https://www.bilibili.com/video/b v1cj 411 m7gc

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。