Redis-数据过期策略

在这里插入图片描述

来看看gpt如何解释把:

总之,Redis的过期key会在后台异步删除,而不是立即删除,以提高性能和避免阻塞操作。这种策略保证了Redis的高吞吐量和低延迟。但需要注意,Redis并不保证过期key一定会被删除,因为定期删除和惰性删除都是基于策略的,所以过期key可能会在一段时间内仍然存在于内存中。如果需要立即删除过期key,可以使用DEL命令手动删除它们。

惰性删除策略

设置key过期时间后,我们不去处理它,当需要用到该key时,我们再去检查它是否过期,如果该key过期,则删除该key,否则我们直接返回该key
举一个例子:
set name geng 10 我们设置一个key为name value为geng 过期时间为10
get name 我们去获取一下该key,如果发现name过期了,则直接删除掉该key

优点:对cpu比较友好,在用到该key的时候才去进行判断,对于很多用不到key不用浪费时间去检查是否过期

缺点:对内存不友好,如果一个key过期了,但是我们又一直没有用到该key,那么它就会一直存在内存中,占用的内存得不到释放

定期删除策略

每隔一段时间,我们对一些key进行检查(取一定数量的随机key),删除其中过期的key
定期清理又存在两种模式:
SLOW模式:slow模式是定时任务,执行频率默认为10hz,每次不超过25ms,可以通过redis.conf中的hz选项来配置
FAST模式:fast模式执行频率不固定,但两次间隔不低于2ms,每次耗时不超过1ms

优点:可以通过限制删除操作执行的时长和频率来减少删除操作对cpu的影响,也能有效的释放过期键解放一些内存

缺点:难以确定删除操作执行的时长和频率,相比而言不那么可控

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值