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 所有键 随机删除
相关推荐
程序员萌萌4 小时前
Redis的缓存机制和淘汰策略详解
数据库·redis·缓存机制·淘汰策略
不剪发的Tony老师5 小时前
SQLite 3.53.0版本发布,重要更新
数据库·sqlite
Bczheng15 小时前
九.Berkeley DB数据库 序列化和钱包管理(1)
数据库
cozil5 小时前
记录mysql创建数据库未指定字符集引发的问题及解决方法
数据库·mysql
架构师老Y5 小时前
013、数据库性能优化:索引、查询与连接池
数据库·python·oracle·性能优化·架构
AC赳赳老秦5 小时前
OpenClaw数据库高效操作指南:MySQL/PostgreSQL批量处理与数据迁移实战
大数据·数据库·mysql·elasticsearch·postgresql·deepseek·openclaw
一 乐5 小时前
校园线上招聘|基于springboot + vue校园线上招聘系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·校园线上招聘系统
liliangcsdn5 小时前
如何基于sentence_transformers构建向量计算工具
数据库·人工智能·全文检索
rchmin5 小时前
向量数据库Milvus安装及使用实战经验分享
数据库·milvus
ego.iblacat5 小时前
Python 连接 MySQL 数据库
数据库·python·mysql