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