删除策略-定期删除|学习笔记

简介: 快速学习删除策略-定期删除

开发者学堂课程【Redis 入门到精通(进阶篇):删除策略-定期删除】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/765/detail/13440


删除策略-定期删除

 

内容介绍

删除策略的方法

删除策略比对

 

本章主要讲解数据删除策略的方法与删除策略的三个方法比对


一,删除策略的方法

1.定期删除

拿空间换时间拿时间换空间的两种方法都比较极端定期删除是比较折中的方法

此图为讲解定期删除

image.png

定义:redis 启动服务器初始化时读取配置 sever.hz 的值默认为10。

(1).severCron()

这个默认值代表每秒钟执行 sever.hz severCron()。它是控制进度的对服务器进行一个定时轮询

(2).databasesCron()

轮询这个工作也叫做databasesCron(),继续对里边的每一个库进行录取它会挨个访问这些信息访问

(3).activeExpireCycle()

之后会对 databasesCron() 执行第三个操作这个操作命名为activeExpireCycle(),activeExpireCycle() 对每一个 expire[*] 逐一进行检查每次执行 250ms/sever.hz。也就是检查的时间定义为四分之一秒

作用:对某个 expire[*]  检测时随机挑选 W key 检测

(4).current_dp

参数 current_dp 用于记录activeExpireCycle() 进入哪个expire[*]执行。current_dp 专门保存当前的执行到位举例为如果把零检查完它会记下来如果把一检查完它会记下来这时到到期时由于已经记住会保障它的轮询不会出现把某一个给落下的情况

(5).注意点

如果 key 超时则删除 key。

如果一轮中删除的key的数量大于 W*25%,循环该过程

如果一轮中删除的 key 的数量小于等于 W*25%,检查下一个 expire[*],0-15循环一个一个检查完是靠databasesCron() 来完成的而检查任意一个是靠activeExpireCycle() 来完成的

.W取值=ACTIVE_EXPIRE_CYCLE_LOOKUPS_PER_LOOP属性值也就是说活动时长的周期查找一个循环次数每次循环在里面找多少个就是它的一个随机策略挑选 k 的数量就靠这个参数设定

(6).总结

周期性轮询 redis 库中的时效性数据采用随机抽取的策略利用过期数据占比的方式控制删除频度

特点:①.CPU 性能占用设置有峰值检测频度可自定义设置内存压力并不是很大长期占用内存的数据会被持续清理

整体来说周期性抽查储存空间随机抽查重点抽查

 

二,删除策略比对

(1).定时删除

节约内存无占用不分时段占用 CPU 资源频度高总体来说定时删除是拿时间换空间

(2).惰性删除

内存占用严重延时执行,CPU 利用率高总体来说惰性删除是拿空间换时间

(3).定期删除

内存定期随机清理每秒花费固定的 CPU 资源维护内存总体来说定期删除是用随机抽查,重点抽查。

相关文章
|
6月前
|
Linux 文件存储
定期删除服务器n天前日志
该内容介绍了如何在Linux中删除指定目录及子目录下超过n天的文件。使用`find`命令结合参数`/nas/logs/* -maxdepth 3 -type d -ctime +6`查找6天前的目录,然后通过`xargs rm -rvf`进行删除。在CentOS中,可以编辑crontab设置定时任务,例如每天1点执行此删除操作:`0 1 * * * find /nas/logs/* -maxdepth 3 -type d -ctime +6 | xargs rm -rvf`,其中`+6`可按需调整。
55 2
|
3月前
|
Oracle 关系型数据库 测试技术
《Oracle数据库管理员的利器:一键自动清理过期日志脚本详解》
【8月更文挑战第13天】在Oracle数据库管理中,日志文件的积累是一个需谨慎处理的问题。日志文件对故障恢复至关重要,但也可能占用大量磁盘空间。本文提供一个自动清理日志的脚本,帮助维护数据库健康。脚本通过定义日志路径和保留天数,使用`find`命令查找并删除过期日志,同时记录清理操作。使用前,请确认日志路径正确,并根据备份策略设置保留天数。通过给予脚本执行权限和配置定时任务(如cron),可实现自动清理,保持文件系统整洁,避免因日志文件过多引发的问题。务必在理解脚本原理并做好备份的情况下使用。
47 0
|
6月前
|
存储 运维 数据库
如何定期清理数据库中的无效数据?
学习如何定期清理数据库中的无效数据,以提高数据库性能并节省存储空间。了解如何利用NineData的数据归档功能实现自动化数据清理,简化DBA工作,降低成本,提高数据库操作效率。通过定期执行归档任务,企业可以优化数据库空间管理,避免无效数据堆积引发的性能问题,实现降本增效。
102 0
|
存储 NoSQL 算法
Redis学习12:删除策略:过期数据、数据删除策略、逐出策略
过期的数据真的删除了吗? 过期数据是指曾经有效的数据,并不是立马被删除的。
Redis学习12:删除策略:过期数据、数据删除策略、逐出策略
删除一段时间内的记录,关键在于删除时筛选条件确定删除范围
删除一段时间内的记录,关键在于删除时筛选条件确定删除范围
93 0
|
NoSQL Redis 开发者
数据删除策略|学习笔记
快速学习数据删除策略
数据删除策略|学习笔记
|
存储 缓存 监控
删除策略-逐出策略|学习笔记
快速学习删除策略-逐出策略
删除策略-逐出策略|学习笔记
|
NoSQL Redis 数据库
删除策略-过期数据的概念|学习笔记
快速学习删除策略-过期数据的概念
删除策略-过期数据的概念|学习笔记
|
消息中间件 存储 RocketMQ
删除过期文件机制分析|学习笔记
快速学习删除过期文件机制分析