首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Redis学习12:删除策略:过期数据、数据删除策略、逐出策略

Redis学习12:删除策略:过期数据、数据删除策略、逐出策略

作者头像
程序员洲洲
发布2024-06-07 08:36:19
发布2024-06-07 08:36:19
3980
举报
文章被收录于专栏:项目文章项目文章

Redis中的数据特征

  • 过期的数据真的删除了吗?
  • 过期数据是指曾经有效的数据,并不是立马被删除的。

删除策略

  • 定时删除、惰性删除、定期删除

过期数据时如何存储的

  • 首先需要明白时效性数据的存储结构
  • 删除策略是维护的紫色区域:expires。

数据删除策略的目标

  • 内存占用与cpu占用之间寻找一种平衡,顾此失彼都会造成整体的Redis性能的下降,甚至引发服务器的宕机内存泄露!

定时删除

  • 规定时间,设置一个定时器,当key设置有过期时间,且过期时间到达时,由定时器的任务立即对key的删除操作
  • 不仅在redis存储空间删掉了key,还在expires区域中把field和value都删掉了。
  • 优缺点:
  • 总结:用处理器性能,也就是CPU换内存(存储空间)。也就是拿时间换空间。
  • 更看重内存。

惰性删除

  • 如果已经过期了,就会删除掉了,然后返回不存在!

定期删除

  • 前面两种策略比较极端,要么时间不够要么cpu不够。
  • 0x是过期数据的存储地址,然后后面的数字是过期的时间。
  • W是可以自己定义的,到配置文件中去设定这个东西。
  • 这个是阶段性的去清理,折中方案。定期是可以理解为轮询的思想来做。

逐出算法

  • LRU是指 最近使用最少的。 age已经4s没用了。所以是他。
  • 同时需要注意检查易失数据集进行操作的。
  • 如果禁止驱逐数据那么容易oom。
  • 一般选用lru。
  • 在配置文件中进行配置即可。
  • 演示这个操作需要大量的操作来冲击内存。
  • 这个就是hits和miss命中和丢失的策略。

总结

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • Redis中的数据特征
  • 删除策略
  • 过期数据时如何存储的
  • 数据删除策略的目标
  • 定时删除
  • 惰性删除
  • 定期删除
  • 逐出算法
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档