架构师成长之路Redis第三篇|Redis key过期清除策略

Eviction policies

maxmemory 100mb

当我们设置的内存达到指定的内存量时,清除策略的配置方式决定了默认行为。Redis可以为可能导致使用更多内存的命令返回错误,也可以在每次添加新数据时清除一些旧数据以返回到指定的限制。

当达到最大内存限制时,Redis所遵循的确切行为是使用MaxMemory-Policy配置指令配置的。

Redis的清除策略有以下:

  • noeviction:当达到内存限制时,不保存新值。当数据库使用replicate时,这适用于主数据库
  • allkeys-lru :保留最近使用的key;删除最近最少使用的(LRU)keys
  • allkeys-lfu : 保留经常使用的key;删除不常使用的(LFU)keys
  • volatile-lru: 删除过期字段设置为True的最近最少使用的keys
  • volatile-lfu: 删除过期字段设置为True的最近最不常使用的keys
  • allkeys-random: 随机删除keys,为添加的新数据腾出空间。
  • volatile-random: 随机删除过期字段设置为TRUE的keys。
  • volatile-ttl : 删除过期字段设置为TRUE且剩余最短生存时间(TTL)值的Keys

如果没有要逐出的keys与先决条件匹配,则策略Volatile-LRU、V

你可能感兴趣的:(java技术架构,redis,java,架构师,缓存清除策略,程序员路同学)