架构师成长之路|Redis key过期清除策略

本文详细介绍了Redis的缓存清除策略,包括noeviction、LRU、LFU、TTL等多种策略的使用场景和推荐。文章讨论了Redis的近似LRU算法及其改进,并提到了Redis 4.0引入的LFU模式,该模式在某些情况下能提供更好的命中率。

Eviction policies

maxmemory 100mb

当我们设置的内存达到指定的内存量时,清除策略的配置方式决定了默认行为。Redis可以为可能导致使用更多内存的命令返回错误,也可以在每次添加新数据时清除一些旧数据以返回到指定的限制。

当达到最大内存限制时,Redis所遵循的确切行为是使用MaxMemory-Policy配置指令配置的。

Redis的清除策略有以下:

  • noeviction:当达到内存限制时,不保存新值。当数据库使用replicate时,这适用于主数据库
  • allkeys-lru :保留最近使用的key;删除最近最少使用的(LRU)keys
  • allkeys-lfu : 保留经常使用的key;删除不常使用的(LFU)keys
  • volatile-lru: 删除过期字段设置为True的最近最少使用的keys
  • volatile-lfu: 删除过期字段设置为True的最近最不常使用的keys
  • allkeys-random: 随机删除keys,为添加的新数据腾出空间。
  • volatile-random: 随机删除过期字段设置为TRUE的keys。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员路同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值