Redis的内存淘汰策略

Redis 的内存淘汰策略 主要是在内存使用接近 maxmemory 限制时触发,用于决定哪些数据需要被删除以释放空间。常见的策略有以下 8 种

  1. noeviction

    • 默认策略,当内存不足时,不会删除任何数据,而是直接返回错误(通常是写入命令报错)。
    • 适合对数据完整性要求高的场景。
  2. volatile-lru

    • 设置了过期时间的键 中,使用 LRU(Least Recently Used,最近最少使用) 算法淘汰数据。
  3. volatile-lfu

    • 设置了过期时间的键 中,使用 LFU(Least Frequently Used,最少使用频率) 算法淘汰数据。
  4. volatile-random

    • 设置了过期时间的键中,随机删除一些键。
  5. volatile-ttl

    • 设置了过期时间的键 中,优先删除剩余生存时间(TTL)最短的键。
  6. allkeys-lru

    • 所有键 中,使用 LRU 算法淘汰数据。
  7. allkeys-lfu

    • 所有键 中,使用 LFU 算法淘汰数据。
  8. allkeys-random

    • 所有键中,随机删除一些键。
策略名称 作用范围 淘汰规则
noeviction 不删除数据,直接返回错误
volatile-lru 仅过期键 最近最少使用(LRU)
volatile-lfu 仅过期键 最少使用频率(LFU)
volatile-random 仅过期键 随机删除
volatile-ttl 仅过期键 TTL 最短优先
allkeys-lru 所有键 最近最少使用(LRU)
allkeys-lfu 所有键 最少使用频率(LFU)
allkeys-random 所有键 随机删除
相关推荐
暴力求解3 小时前
Mysql数据库基础
数据库·mysql·操作系统
意倾城4 小时前
MySQL最左前缀匹配原则
数据库·mysql
暴躁小师兄数据学院4 小时前
【AI大数据工程师特训笔记】第13讲:数据库性能手术刀
大数据·数据库·数据仓库·sql·postgresql
步十人4 小时前
【Redis】持久化机制
数据库·redis·缓存
Quincy_Freak5 小时前
银河麒麟aarch64如何高效做数据分析?分享一款内网离线数据分析利器
大数据·数据库·数据挖掘·数据分析·aarch64
yurenpai(27届找实习中)5 小时前
redis_点评(25.附件店铺—把数据库里的店铺按【类型分组】,批量导入Redis 的 GEO 地理位置结构)
java·redis·缓存
香气袭人知骤暖5 小时前
PG数据库 Docker 容器自动备份方案
数据库·docker·容器
闪电悠米6 小时前
黑马点评-优惠券秒杀-05_local_lock_cluster_problem
java·spring boot·redis·缓存
me8326 小时前
【Linux】Linux 目录命名规范溯源(Linux各个目录究竟是干嘛的)
linux·运维·数据库
土狗TuGou6 小时前
SQL内功笔记 · 第2篇:列的约束
数据库·笔记·sql