当前位置: 首页 > news >正文

Redis 过期策略 问题

前言


 相关系列

  • 《Redis & 目录》(持续更新)
  • 《Redis & 过期策略 & 源码》(学习过程/多有漏误/仅作参考/不再更新)
  • 《Redis & 过期策略 & 总结》(学习总结/最新最准/持续更新)
  • 《Redis & 过期策略 & 问题》(学习解答/持续更新)
     
     

Redis的过期策略有哪些?


  • 惰性删除:到期数据不会被立即删除,而是会在(到期后的)首次访问时被删除。该过期策略对CPU非常友好,因为其无需对期限数据进行实时监控。但其对内存却并不友好,因为如果到期数据不再被访问,那么该数据将会被永久保存。
  • 定期删除:Redis会每隔一段时间抽取一定量的期限数据并删除其中的到期数据。该过期策略的特点是期限数据的抽取频率可以动态调整,因此可以根据实际场景在删除的性能/开销上自由平衡/侧重。定期删除一个值得讲述的点是其只抽取一定数量的期限数据而不全量遍历的原因,这表面上是因为全量遍历会造成CPU/内存负载的急剧上升而对性能造成影响。但实际上仅仅只是如此也并非是无法接受的,因为Redis在持久化等机制中也会全量遍历数据,而这其中甚至还包括了非期限数据。Redis如此设计的真正原因是定期删除必须被高频执行以保证较好的清理效果,但如此一来其对性能的影响就是持久习惯的。因此Redis并非不能接受数据被全量遍历,而是无法接受数据被一直全量遍历。
     
     

Redis如何设置键的期限/永久有效?如何查看键的剩余存活时间?


  • 设置期限有效:EXPIRE <key> <timeout>
  • 设置永久有效:PERSIST <key>
  • 查看剩余存活时间:TTL <key>

http://www.mrgr.cn/news/59246.html

相关文章:

  • 关于python的import
  • Spark RDD
  • 事务的原理、MVCC的原理
  • Node-Red二次开发:git下载本地打镜像docker部署
  • 挑战Java面试题复习第2天,百折不挠
  • 【mysql进阶】4-7. 通用表空间
  • RabbitMQ延迟消息插件安装(Docker环境)
  • 使用MirrorMaker跨集群同步数据原理
  • 潮畔汽车文化营地开营啦!全民测试场启动典礼圆满成功
  • 第九部分 Java API
  • C++11特性
  • 基本Linux命令
  • 混淆矩阵注解
  • 挑战Java面试题复习第1天,坚持就是胜利
  • 【WPF】作为一个WPF开发者你所应该知道关于Avalonia的二三事
  • Redis 基础 问题
  • 网关三问:为什么微服务需要网关?什么是微服务网关?网关怎么选型?
  • 跨境支付,哪些国产数据库能接得住?
  • 透视 @Transactional 的隔离级别:四大隔离机制让事务更安全!
  • SMA-BP时序预测 | Matlab实现SMA-BP黏菌算法优化BP神经网络时间序列预测