Redis 提供了多种缓存淘汰策略,含义在注释中说的很清楚。 LRU:表示最近最少使用; LFU:表示最不常用的。 区别在于:LFU 是一定时间内访问最少的,比如 10 分钟内访问最少的,而 LRU 则是指服务启动后,访问量最少的内容。 下面按顺序说明下淘汰策略: volatile-lru 筛选出设置了有效期的,最近最少使用的 key; allkeys-lru 所有 key 中,筛选出最近最少使用的 key; volatile-lfu 筛选出设置了有效期的,最不常用的 key; allkeys-lfu 所有 key 中,筛选出最不常用的 key ; valatile-random 随机筛选出设置了有效期的 key; allkeys-random 所有 key 中,随机筛选出 key进行删除; volatile-ttl 筛选出所有设置有效期的 key 中,有效期最短的 key; noeviction 拒绝策略,当内存满了之后,服务不做任何处理,直接返回一个错误 Redis 默认是拒绝策略,可根据实际情况做出设置。(默认)