Redis 的内存淘汰策略用于在内存满了之后,决定哪些 key 要被删除。Redis 支持多种内存淘汰策略,可以通过配置文件中的 maxmemory-policy 参数来指定。
以下是 Redis 支持的内存淘汰策略:
● noeviction:不会淘汰任何键值对,而是直接返回错误信息。
● allkeys-lru:从所有 key 中选择最近最少使用的那个 key 并删除。
● volatile-lru:从设置了过期时间的 key 中选择最近最少使用的那个 key 并删除。
● allkeys-random:从所有 key 中随机选择一个 key 并删除。
● volatile-random:从设置了过期时间的 key 中随机选择一个 key 并删除。
● volatile-ttl:从设置了过期时间的 key 中选择剩余时间最短的 key 并删除。
● volatile-lfu:淘汰的对象是带有过期时间的键值对中,访问频率最低的那个。
● allkeys-lfu:淘汰的对象则是所有键值对中,访问频率最低的那个。