Redis 淘汰策略

Redis 的内存占用会越来越高。Redis 为了限制最大使用内存,提供了 redis.conf 中的配置参数 maxmemory。当内存超出 maxmemory,Redis 提供了几种内存淘汰机制让用户选择,配置maxmemory-policy:

  • noeviction:当内存超出 maxmemory,写入请求会报错,但是删除和读请求可以继续。
  • allkeys-lru:当内存超出 maxmemory,在所有的 key 中,移除最少使用的key。
  • allkeys-random:当内存超出 maxmemory,在所有的 key 中,随机移除某个 key。
  • volatile-lru:当内存超出 maxmemory,在设置了过期时间 的key ,移除最少使用的 key。
  • volatile-random:当内存超出 maxmemory,在设置了过期时间的 key中,随机移除某个key。
  • volatile-ttl:当内存超出 maxmemory,在设置了过期时间的 key 中,优先移除 ttl 小的。
Last Updated: