Redis有哪些内存溢出控制/内存淘汰策略?

Redis有哪些内存溢出控制/内存淘汰策略?
Redis在达到maxmemory
上限时会触发相应的溢出控制策略,Redis支持以下六种策略:
noeviction
:默认策略,不会删除任何数据,拒绝所有写入操作并返回客户端错误信息,此时Redis仅响应读操作。volatile-lru
:根据LRU算法删除带有超时属性(expire)的键,直到释放足够的空间为止。如果没有可删除的键对象,则回退到noeviction
策略。allkeys-lru
:根据LRU算法删除键,无论数据是否设置了超时属性,直到释放足够的空间为止。allkeys-random
:随机删除所有键,直到释放足够的空间为止。volatile-random
:随机删除过期键,直到释放足够的空间为止。volatile-ttl
:根据键值对象的ttl属性,删除即将过期的数据。如果没有即将过期的数据,则回退到noeviction
策略。