Redis 过期策略和内存淘汰机制

Redis通过过期策略和内存淘汰机制管理缓存内存。过期策略包括命令设置的过期时间,以及通过检查和删除过期key。内存淘汰机制包含多种策略,如LRU、LFU和随机淘汰等,确保在内存不足时有效清理数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis 过期策略和内存淘汰机制

众所周知,redis 是一个基于内存的,能够持久化到硬盘的缓存数据库,所以 redis 缓存服务器会配置较高的内存资源

一般而言,缓存总量小于数据总量,但如果对缓存数据不管不顾,内存资源总会有耗尽的时候,而为了节约成本,不能一直增加服务器的内存。因此在有限的资源下,为了支撑更多的业务,就必须将访问频率不高的缓存删掉,为新的缓存腾出内存空间

Redis 主要通过两种方式相互配合实现 key 的清理,即:过期策略和内存淘汰机制

过期策略

Redis 通过 Expire 命令设置 key 的过期时间,设置过期时间后, key 会被自动删除。通常称带有过期时间的 key 为易失的 (volatile);过期时间的 key,可以调用 EXPIPE 重新设置

过期时间计算
key 的过期时间以绝对 Unix 时间戳的方式存储,也就是无论 Redis 是否进行,过期时间都会流逝。即要求服务器的时间必须准确,否则但两个时间相差较多的机器之间移动 RDB 文件,那么可能会出现所有的 key 在加载的时候都过期。

测试:运行的 Redis 会不停检查服务器的时间,如果设置一个带有 1k 秒过期时间的 key,然后把服务器的时间向前调 2k 秒,那么这个 key 就会立刻过期,而不是等待 1k 秒后过期

淘汰过期 key 方式</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值