全部产品
Search
文档中心

云数据库 Redis:Redis默认的数据逐出策略是什么?

更新时间:Dec 28, 2023

云数据库Redis版实例的内存占满时,会触发数据逐出策略(又称为淘汰策略),以确保内存不会超出限制。默认的策略为volatile-lru,即从已设置过期时间的Key中,清除最少使用的Key。本文介绍云数据库Redis版的逐出策略。

修改逐出策略

修改逐出策略,请登录Redis管理控制台,在参数设置中修改,详细操作请参见设置实例参数

可选的逐出策略

  • volatile-lru(默认):从已设置过期时间(Expire)的Key中,删除最近最少使用的Key(LRU算法),且不会考虑Key是否已经过期。

  • volatile-lfu:从已设置过期时间(Expire)的Key中,删除最不常用的Key(LFU算法)。

  • volatile-random:从已设置过期时间(Expire)的Key中,随机删除一些Key。

  • volatile-ttl:从已设置过期时间(Expire)的Key中,根据存活时间(TTL)从小到大排序进行删除。

  • allkeys-lru:从所有Key中,删除最近最少使用的Key(LRU算法)。

  • allkeys-lfu:从所有Key中,删除最不常用的Key(LFU算法)。

  • allkeys-random:从所有Key中,随机删除一些Key。

  • noeviction:不删除任何Key,当内存达到上限时,将无法写入新数据,数据库会返回错误信息。

相关文档

如果Key数量减少,有可能是因为数据过期被清除。Redis数据过期清除策略以及手动清除的方法,请参见云数据库Redis版如何清除过期Key