redis面试题:过期策略、内存淘汰机制

本文介绍了Redis的过期策略和内存淘汰机制。过期策略采用定期删除和惰性删除,定期删除会随机扫描,可在配置文件设置扫描频率;惰性删除在查询时判断是否过期。内存淘汰机制有多种,如volatile - lru、allkeys - lru等,默认是noeviction。

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

redis的过期策略

定期删除+惰性删除
解释:我们存数据时设置的过期时间,并不是一到时间就一定会被删除掉的,redis在清除key的时候会做一个随机的扫描,这个扫描频率是可以在配置文件中设置的,随机扫描到这个key后发现已经过期了就会把这个key给移除,如果没有扫描到就涉及到了这个惰性删除,在查询的时候先判断一下,如果已经过期了,就删除掉返回null。设置的频率在1-500之间,最好是1-100之间。

redis的内存淘汰机制

  1. volatile-lru:使用LRU算法(最近、最少使用)移除key,只对设置了过期时间的键
  2. allkeys-lru:使用LRU算法移除key
  3. volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键
  4. allkeys-random:移除随机的key
  5. volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key
  6. noeviction:永不过期(默认),不进行移除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值