Tair默认的数据逐出策略是什么?

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

修改逐出策略

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

可选的逐出策略

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

  • noeviction(持久内存型默认):不删除任何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。

相关文档

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