redis4.0前后内存淘汰策略

在 Redis 4.0 之前和之后,Redis 的内存淘汰策略没有发生显著的变化,但在 4.0 版本之后引入了一种新的内存淘汰策略,即 MEMKIND_LFU

Redis 4.0 之前的内存淘汰策略:

1. volatile-lruallkeys-lru
  • volatile-lru 使用 Least Recently Used(LRU)算法淘汰带有过期时间的 key。
  • allkeys-lru 使用 LRU 算法淘汰所有 key。
2. volatile-ttl
  • volatile-ttl 根据 Time To Live(TTL)淘汰带有过期时间的 key。
3. volatile-randomallkeys-random
  • volatile-random 随机淘汰带有过期时间的 key。
  • allkeys-random 随机淘汰所有 key。
4. noeviction
  • noeviction 表示当内存不足以执行写入操作时,拒绝写入而不进行淘汰。

Redis 4.0 引入的新内存淘汰策略:

1. MEMKIND_LFU
  • MEMKIND_LFU 是一种 Least Frequently Used(LFU)算法,用于淘汰最不经常使用的 key。

示例配置:

# Redis 4.0 之前的配置
maxmemory 100M
maxmemory-policy allkeys-lru

# Redis 4.0 引入新策略
maxmemory 100M
maxmemory-policy MEMKIND_LFU

请注意,具体可用的策略可能因 Redis 版本和构建选项而有所不同。建议查阅官方文档或相应版本的 release notes 以获取详细信息。

你可能感兴趣的:(Redis,redis,缓存,nosql,数据库)