数据删除策略|学习笔记

简介: 快速学习数据删除策略

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

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


数据删除策略

 

本章主要讲解数据删除的策略

内容介绍

一、定时删除

二、惰性删除

 

一、定时删除

1.定义

创建一个定时器,当 key 设置有过期时间到达时,由定时器任务立即执行对键的删除操作。

此图为以图片形式看效果:

image.png

2. 优点

节约内存,到时就删除,快速释放掉不必要的内存占用。

3. 缺点

cpu 压力很大,无论 cpu 此时负载量多高,均占用 cpu,会影响 redis 服务器响应时间和指令吞吐量。

4. 总结

用处理器性能换取储存空间。(拿时间换空间)

 

二、惰性删除

1.定义

数据到达过期时间,不做处理,等下次访问该数据时。

注意,数据已经过期,等下次访问时是不可以告诉还有的,会表示已经没有。但是,这时数据还在,这个点删除的,便是,惰性删除。

此图为老师更加详细说明惰性删除:

image.png

2. 注意点

如果未过期,返回数据。发现已过期,删除,返回不存在。

操作方法:内部有一个名为 ecpireIFNeeded(),这是一个函数,也就是掉任何函数数据操作之前,内部都将执行这个操作。这个操作就是检查数据是否过期。注意,所有的 get 操作与这个操作都会绑定,也就是,不管执行什么样的获取数据,都要经过 ecpireIFNeeded()。

3. 优点

节约 cpu 的性能,不是按时间删除,而是发现另一个过期数据的时候才会删除。也就是说,发现必须删除的时候才会删除。

4. 缺点

内存压力很大,因为大量的数据,删除以后不用,它也会留下来,这就会出现长期占内存的问题。

5. 总结

用存储空间换取处理性能。这种策略适用于,处理器相对比较紧张,但是储存空间很大时。也就是说,内存大,cpu 小。用数据结构的思想来总结,就是拿时间换空间。和前面所讲解的删除策略是截然对立的一个对立。

相关文章
|
7月前
|
Kubernetes 网络协议 Cloud Native
k8s学习-网络策略NetworkPolicy(概念、模版、创建、删除等)
k8s学习-网络策略NetworkPolicy(概念、模版、创建、删除等)
181 0
|
存储 NoSQL 算法
Redis学习12:删除策略:过期数据、数据删除策略、逐出策略
过期的数据真的删除了吗? 过期数据是指曾经有效的数据,并不是立马被删除的。
Redis学习12:删除策略:过期数据、数据删除策略、逐出策略
|
NoSQL Redis 开发者
删除策略-定期删除|学习笔记
快速学习删除策略-定期删除
删除策略-定期删除|学习笔记
|
NoSQL Redis 数据库
删除策略-过期数据的概念|学习笔记
快速学习删除策略-过期数据的概念
删除策略-过期数据的概念|学习笔记
|
存储 缓存 监控
删除策略-逐出策略|学习笔记
快速学习删除策略-逐出策略
删除策略-逐出策略|学习笔记
|
消息中间件 存储 RocketMQ
删除过期文件机制分析|学习笔记
快速学习删除过期文件机制分析
|
开发者 索引
删除|学习笔记
快速学习删除。
|
存储 Java Linux
创建和删除|学习笔记
快速学习创建和删除。
|
存储 开发者 索引
创建和删除 | 学习笔记
快速学习创建和删除
|
开发者 索引