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 所有键 随机删除
相关推荐
爆更小哇2 小时前
MyBatis的TypeHandler :优雅地实现数据加密与解密
数据库·后端·mybatis
likuolei2 小时前
Eclipse 创建 Java 接口
java·数据库·eclipse
w***15312 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端
q***65693 小时前
PostgreSQL 17 发布了!非常稳定的版本
数据库·postgresql
云飞云共享云桌面3 小时前
如何降低非标自动化工厂的研发软件采购成本
运维·服务器·网络·数据库·性能优化·自动化
泰克教育官方账号3 小时前
泰涨知识 | 什么是自动化巡检?
运维·服务器·数据库
oneslide3 小时前
分享一个MySQL数据库备份恢复脚本--II
数据库·mysql
Gauss松鼠会3 小时前
【GaussDB】使用DBLINK连接到ORACLE
数据库·sql·database·gaussdb
Arva .4 小时前
深度分页、读写分离、分库分表后 SQL 该如何优化?
数据库·sql
九章-4 小时前
中国能建风电项目数据库国产化实践:构建安全可控的新能源数据底座
数据库