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 所有键 随机删除
相关推荐
尽兴-1 分钟前
MySQL执行UPDATE语句的全流程深度解析
数据库·mysql·innodb·dba·存储引擎·update
MXM_7776 分钟前
laravel 并发控制写法-涉及资金
java·数据库·oracle
进阶的小名7 分钟前
[超轻量级消息队列(MQ)] Redis 不只是缓存:我用 Redis Stream 实现了一个 MQ(自定义注解方式)
数据库·spring boot·redis·缓存·消息队列·个人开发
列御寇8 分钟前
MongoDB分片集群——分片键(Shard Keys)概述
数据库·mongodb
oMcLin13 分钟前
如何在Ubuntu 22.04 LTS上通过配置ZFS存储池,提升高吞吐量数据库的读写性能与可靠性?
linux·数据库·ubuntu
Cx330❀21 分钟前
脉脉平台深度测评:【AI创作者xAMA】从职场社交到AI创作赋能
数据库·人工智能·脉脉
f***241121 分钟前
Bug侦探团:破解技术悬案的秘密武器
数据库
Li_76953226 分钟前
Redis 进阶(八)—— 分布式锁
数据库·redis·分布式
Li_76953227 分钟前
Redis 进阶(七)—— 缓存
数据库·redis·缓存
claem28 分钟前
Mac搭建postgreSQL 一些基础命令与注意事项
数据库·postgresql