Redis内存回收

Redis作为内存数据库,通过过期策略实现内存回收,包括惰性删除和周期删除两种方式。过期策略中,Redis会检查Key的TTL并在访问时删除已过期的Key。周期删除分为SLOW和FAST模式,根据不同的频率和规则清理过期Key。当内存达到上限时,Redis启用淘汰策略,主动删除部分Key以释放内存。
摘要由CSDN通过智能技术生成

Redis内存回收
Redis之所以性能强,最主要的原因就是基于内存存储。然而单节点的Redis其内存大小不宜过大,会影响持久化或主从同步性能。
我们可以通过修改配置文件设置Redis的最大内存:
在这里插入图片描述
当内存使用达到上限时,就无法存储更多数据了。

过期策略

在学习Redis缓存的时候,可以通过expire命令给Redis的Key设置TTL(存活时间)
在这里插入图片描述
可以发现,当key的TTL到期以后,再次访问name返回的是nil,说明这个Key已经不存在了,对应的内存也得到释放,从而起到内存回收的目的。

过期策略——DB结构

Redis本身是一个典型的key-value内存存储数据库,因此所有的Key、value都保存在Dict结构中。不过在其database结构体中,有两个Dict:一个用来记录key-value;另一个用来记录key-TTL
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值