Redis 的过期策略以及内存回收机制

Redis 的过期策略以及内存回收机制

一、Redis过期策略
redis是如何处理过期的key?

分为2种:passive (被动)和active(主动)
所谓被动的处理方式就是 :当一些客户端进行访问的时候,秘钥被动过期,并且发现秘钥超时
只有被动是不够的,因为所有过期的秘钥是永远不会被访问的,所以Redis有自己的过期算法。
Redis 每秒运行10次 会执行以下概率算法:
1.从相关的过期秘钥集合中随机测试20个秘钥。
2.删除所有已找到的秘钥。
3.如果有超过25%的秘钥过期,重新执行第一步。
这就意味着任何时刻,使用内存的键已经过期的最大数量最大等于每秒的最大写操作量除以4。
参考官方文档:https://redis.io/commands/expire

二、内存回收机制
回收策略 主要用于 当redis用于缓存的内存不足时,如何处理写入和申请内存空间

1.maxmemory #最大内存 单位字节
2.maxmemory-policy noeviction #默认
3.noeviction -> 不做任何处理,只在写入时 ,提示错误
4.volatile-ttl -> 删除最近到期的key
5.allkeys-random -> 随机删除任意key
6.volatile-random -> 删除具有过期时间的随机秘钥
7.allkeys-lfu -> 移除最近最少使用的key
8.volatile-lfu -> 在设置了过期时间的键空间中,移除最近最少使用的key
allkeys-lru -> 移除最少使用的key
volatile-lru -> 在设置了过期时间的键空间中,移除最少使用的key

————————————————
版权声明:本文为CSDN博主「wisdom-chen」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值