redis数据删除策略

目录

定时删除

惰性删除

定期删除

        删除策略比对


定时删除

创建一个定时器,当key设置有过期时间,且过期时间到达时,由定时器任务立即执行对键的删除操作。
优点:节约内存,到时就删除,快速释放掉不必要的内存占用;
缺点:CPU压力很大,无论此时CPU负载量多高,均占用CPU,会影响redis服务器响应时间和指令吞吐量;
总结:用处理器性能换取存储空间(用时间换空间)

惰性删除

什么是惰性删除?

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

如果未过期,返回数据
发现已过期,删除,返回不存在
优点:节约CPU性能,发现必须删除的时候才删除;
缺点:内存压力很大,出现长期占用内存的数据;
总结:用存储空间换取处理器性能

定期删除

定时删除和惰性删除都走极端,有没有折中方案?

1.redis启动服务器初始化时,读取配置server.hz的值,默认为10,;
2.每秒钟执行server.hz次serverCron() ->databasesCron()->activeExpireCycle();
3. **activeExpireCycle()**对每个expires逐一进行检测,每次执行250ms/server.hz;
4. 对某个expires检测

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值