Redis学习(十二)Redis的三种删除策略

一、背景

我们都知道 Redis 是一种内存数据,所有的数据均存储在内存中,可以通过 ttl 指令查看数据的状态:

  • xx:表示具有时效性的数据。
  • -1:表示永久性的数据。
  • -2:表示过期的数据,或已经删除的数据,或未定义的数据。

但是 过期的数据真的被删除了吗?

  • 在 Redis 的执行过程中,会让 CPU 处理很多的指令,CPU 可能会一下子处理不过来,这样就需要区分优先级了。
  • 很明显 Redis 的 key 过期删除操作没有那么重要,所以就先不删除,继续保存在内存中。
  • 那什么时候删除呢?这就是 Redis 的删除策略做的事了。

删除策略的目标: 就是 在内存和 CPU 占用之间找到一个平衡,在 CPU 空闲的时候再去删除过期的数据,防止出现 CPU 过载导致服务器宕机、内存泄漏等问题


二、Redis 的三种删除策略

Redis 有以下三种删除策略:定时删除、

2.1 定时删除(用CPU换内存空间)

实现方式: 创建一个定时器,每间隔一段时间,定时器会 对全量 key 的扫描,并删除过期的 key。

  • 优点: 节约内存,可以定期立即释放掉所有不必要的内存空间。
  • 缺点:<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿放下技术的小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值