redis内存淘汰策略

Redis提供了多种内存淘汰算法,用于在内存使用达到上限时决定哪些数据应该被移除以便为新数据腾出空间。以下是Redis支持的内存淘汰算法:

  1. noeviction:不淘汰任何key,当内存不足以容纳新写入数据时,新的写入操作会报错。这是Redis的默认内存淘汰策略。

  2. allkeys-lru:从所有的key中,根据最近最少使用(Least Recently Used, LRU)算法来淘汰数据。

  3. allkeys-random:从所有key中随机淘汰数据。

  4. volatile-lru:仅从设置了过期时间的key中,根据LRU算法来淘汰数据。

  5. volatile-random:从设置了过期时间的key中随机淘汰数据。

  6. volatile-ttl:从设置了过期时间的key中,根据剩余的TTL(Time To Live)值来淘汰数据,即越早过期的key越先被淘汰。

  7. volatile-lfu:从设置了过期时间的key中,根据最不经常使用(Least Frequently Used, LFU)算法来淘汰数据。这是Redis 4.0版本后新增的策略。

  8. allkeys-lfu:从所有的key中,根据LFU算法来淘汰数据。这也是Redis 4.0版本后新增的策略。

这些策略可以根据不同的应用场景和数据特性来选择,以确保内存资源的有效利用和系统的稳定运行。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一 Redis 内存配置 Redis是基于内存的key-value数据库,因为系统的内存大小有限,所以我们在使用R...
    花神子阅读 535评论 0 1
  • 出处:juejin.im/post/5d674ac2e51d4557ca7fdd70 小结:本文主要包括三个部分。...
    不怕天黑_0819阅读 287评论 0 1
  • 内存淘汰机制 当 Redis 内存超出物理内存限制时,内存的数据会开始和磁盘产生频繁的交换 (swap)。 交换会...
    Java程序鱼阅读 365评论 0 1
  • 当Redis内存超过最大允许的内存之后,Redis就会触发内存淘汰策略(阈值可配置) 早期Redis版本:allk...
    Jasper_Chen阅读 465评论 0 0
  • redis_内存淘汰策略 介绍 Redis的内存淘汰策略是指在Redis的用于缓存的内存不足时,怎么处理需要新写入...
    Raral阅读 210评论 0 0