【redis】redis 过期策略、LRU 算法淘汰、懒惰删除

87 篇文章 8 订阅 ¥9.90 ¥99.00
本文详细介绍了Redis的过期策略,包括定时扫描和惰性删除,以及如何处理大量key同时过期的问题。此外,还探讨了LRU算法在Redis中的实现,包括近似LRU算法和淘汰策略。最后,讨论了Redis的懒惰删除机制,如unlink指令的异步内存回收,以避免单线程卡顿。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1.概述

摘自: 《Redis深度历险 核心原理与应用实践》_钱文品.pdf 仅供自己学习,方便查找,建议看原文。

2.过期策略

Redis 所有的数据结构都可以设置过期时间,时间一到,就会被自动删除。你可以想象 Redis 内部有一个死神,他时刻盯着所有设置了过期时间的 key ,寿命一到就会立即收割。

你还可以进一步站在死神的角度思考,会不会因为同一时间太多的 key 过期,以至于忙不过来?同时因为 Redis 是单线程的,收割的时间也会占用线程的处理时间,如果收割的操作太过于繁忙,会不会导致线上读写指令出现卡顿?

这些问题 Antirez 早就想到了,所以在过期问题上, Redis 非常小心。

2.1 过期的 key 集合

Redis 会将每个设置了过期时间的 key 放入一个独立的字典中,以后会定时遍历这个字典来删除到期的 key 。除了定时遍历之外,它还会使用惰性策略来删除过期的key 。所谓惰性策略就是在客户端访问这个 key 的时候&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

九师兄

你的鼓励是我做大写作的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值