Redis学习笔记三:缓存过期策略

redis中设置了expire的key并不会在过期时马上删除,而是基于以下两种策略进行清理:

1.(主动)定时删除:定时随机检查部分key,如果过期则删除(redis.conf中可以配置每秒检查的key数量)

2.(被动)惰性删除:已经过期的key在被客户端请求的时候才会触发删除,同时返回nil,惰性删除不需要定期检查key的过期状态,对cpu资源消耗比较小,但是会造成过期key删除不及时,因此占用内存较多

如果内存达到了配置中设置的maxmemory,则会触发redis的缓存淘汰机制

noeviction:缓存不会淘汰,设置新值时返回客户端一个错误

allkeys-lru:对所有key使用lru算法,删除最近最少用到的key

allkeys-random:所有key随机删除

volatile-lru:对设置了expire过期时间的key使用lru算法进行清理

volatile-random:对设置了expire过期时间的key随机清理

volatile-ttl:对设置了expire过期时间的key删除快要过期的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值