【Redis】淘汰策略

淘汰策略

Redis 的淘汰策略是指在 Redis 内存使用达到上限时,选择哪些数据被删除或清除的策略。Redis 提供了以下 6 种淘汰策略:

noeviction:不进行任何淘汰操作,当内存使用达到最大值时,后续写入操作会返回错误。
volatile-lru:在所有可过期的键中,从最近最少使用(LRU)的键开始删除。
volatile-ttl:在所有可过期的键中,根据键值对象的 TTL(time-to-live)属性来删除。
volatile-random:在所有可过期的键中,随机删除一些键。
allkeys-lru:在所有键中,从最近最少使用(LRU)的键开始删除。
allkeys-random:在所有键中,随机删除一些键。

需要注意

要合理配置淘汰策略,避免存在无用数据长时间占用内存资源。
针对大数据量的缓存,应该考虑使用分布式缓存方案。
不要将所有数据都设置为永久存储,应该根据业务需求设置合适的过期时间,以减小缓存压力。
注意缓存击穿和雪崩问题,可以采用多级缓存、限流等手段来避免这些问题。

常见的坑

没有设置适当的过期时间,导致缓存占用内存过多。
使用不合理的淘汰策略,导致数据被误删除或清除。
缓存雪崩时没有采取有效措施,导致系统崩溃。

猜你喜欢

转载自blog.csdn.net/qq_38428623/article/details/129948407